Coverage Report

Created: 2025-07-12 06:08

/src/aspell/common/string_enumeration.hpp
Line
Count
Source (jump to first uncovered line)
1
// This file is part of The New Aspell
2
// Copyright (C) 2001 by Kevin Atkinson under the GNU LGPL license
3
// version 2.0 or 2.1.  You should have received a copy of the LGPL
4
// license along with this library if you did not you can find
5
// it at http://www.gnu.org/.
6
7
#ifndef ASPELL_STRING_ENUMERATION__HPP
8
#define ASPELL_STRING_ENUMERATION__HPP
9
10
#include "parm_string.hpp"
11
#include "type_id.hpp"
12
#include "char_vector.hpp"
13
14
namespace acommon {
15
16
  class StringEnumeration;
17
  class Convert;
18
19
  class StringEnumeration {
20
  public:
21
    typedef const char * Value;
22
    virtual bool at_end() const = 0;
23
    virtual const char * next() = 0;
24
    int ref_count_;
25
    TypeId type_id_;
26
0
    unsigned int type_id() { return type_id_.num; }
27
    int copyable_;
28
0
    int copyable() { return copyable_; }
29
    virtual StringEnumeration * clone() const = 0;
30
    virtual void assign(const StringEnumeration * other) = 0;
31
    CharVector temp_str;
32
    Convert * from_internal_;
33
82.8k
    StringEnumeration() : ref_count_(0), copyable_(2), from_internal_(0) {}
34
82.8k
    virtual ~StringEnumeration() {}
35
  };
36
37
}
38
39
#endif /* ASPELL_STRING_ENUMERATION__HPP */