/usr/include/sp/CharsetDecl.h is in libsp1-dev 1.3.4-1.2.1-47.3ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | // Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#ifndef CharsetDecl_INCLUDED
#define CharsetDecl_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "types.h"
#include "Vector.h"
#include "ExternalId.h"
#include "ISet.h"
#include "Boolean.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
class SP_API CharsetDeclRange {
public:
enum Type {
number,
string,
unused
};
CharsetDeclRange();
CharsetDeclRange(WideChar, Number, WideChar);
CharsetDeclRange(WideChar, Number);
CharsetDeclRange(WideChar, Number, const StringC &);
void rangeDeclared(WideChar min, Number count,
ISet<WideChar> &declared) const;
void usedSet(ISet<Char> &) const;
Boolean getCharInfo(WideChar fromChar,
CharsetDeclRange::Type &type,
Number &n,
StringC &str,
Number &count) const;
void stringToChar(const StringC &str, ISet<WideChar> &to) const;
void numberToChar(Number n, ISet<WideChar> &to, Number &count) const;
private:
WideChar descMin_;
Number count_;
WideChar baseMin_;
Type type_;
StringC str_;
};
class SP_API CharsetDeclSection {
public:
CharsetDeclSection();
void setPublicId(const PublicId &);
void addRange(const CharsetDeclRange &);
void rangeDeclared(WideChar min, Number count,
ISet<WideChar> &declared) const;
void usedSet(ISet<Char> &) const;
Boolean getCharInfo(WideChar fromChar,
const PublicId *&id,
CharsetDeclRange::Type &type,
Number &n,
StringC &str,
Number &cout) const;
void stringToChar(const StringC &str, ISet<WideChar> &to) const;
void numberToChar(const PublicId *id, Number n,
ISet<WideChar> &to, Number &count) const;
private:
PublicId baseset_;
Vector<CharsetDeclRange> ranges_;
};
class SP_API CharsetDecl {
public:
CharsetDecl();
void addSection(const PublicId &);
void swap(CharsetDecl &);
void clear();
void usedSet(ISet<Char> &) const;
void declaredSet(ISet<WideChar> &set) const;
Boolean charDeclared(WideChar) const;
void rangeDeclared(WideChar min, Number count,
ISet<WideChar> &declared) const;
void addRange(WideChar, Number, WideChar);
void addRange(WideChar, Number);
void addRange(WideChar, Number, const StringC &);
Boolean getCharInfo(WideChar fromChar,
const PublicId *&id,
CharsetDeclRange::Type &type,
Number &n,
StringC &str) const;
Boolean getCharInfo(WideChar fromChar,
const PublicId *&id,
CharsetDeclRange::Type &type,
Number &n,
StringC &str,
Number &count) const;
void stringToChar(const StringC &str, ISet<WideChar> &to) const;
void numberToChar(const PublicId *id, Number n,
ISet<WideChar> &to, Number &count) const;
void numberToChar(const PublicId *id, Number n, ISet<WideChar> &to) const;
private:
Vector<CharsetDeclSection> sections_;
ISet<WideChar> declaredSet_;
};
inline
Boolean CharsetDecl::getCharInfo(WideChar fromChar,
const PublicId *&id,
CharsetDeclRange::Type &type,
Number &n,
StringC &str) const
{
Number tem;
return getCharInfo(fromChar, id, type, n, str, tem);
}
inline
void CharsetDecl::numberToChar(const PublicId *id, Number n,
ISet<WideChar> &to) const
{
Number tem;
numberToChar(id, n, to, tem);
}
inline
void CharsetDecl::declaredSet(ISet<WideChar> &set) const
{
set = declaredSet_;
}
inline
Boolean CharsetDecl::charDeclared(WideChar c) const
{
return declaredSet_.contains(c);
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not CharsetDecl_INCLUDED */
|