52 std::string FullTag(
const Item *Stop = 0)
const;
54 Item() : Parent(0), Child(0), Next(0) {};
62 Item *Lookup(
Item *Head,
const char *S,
unsigned long const &Len,
bool const &Create);
63 Item *Lookup(
const char *Name,
const bool &Create);
64 inline const Item *Lookup(
const char *Name)
const
71 std::string Find(
const char *Name,
const char *Default = 0)
const;
72 std::string Find(std::string
const &Name,
const char *Default = 0)
const {
return Find(Name.c_str(),Default);};
73 std::string Find(std::string
const &Name, std::string
const &Default)
const {
return Find(Name.c_str(),Default.c_str());};
74 std::string FindFile(
const char *Name,
const char *Default = 0)
const;
75 std::string FindDir(
const char *Name,
const char *Default = 0)
const;
84 std::vector<std::string> FindVector(
const char *Name, std::string
const &Default =
"",
bool const Keys =
false)
const;
85 std::vector<std::string> FindVector(std::string
const &Name, std::string
const &Default =
"",
bool const Keys =
false)
const {
return FindVector(Name.c_str(), Default, Keys); };
87 int FindI(
const char *Name,
int const &Default = 0)
const;
88 int FindI(std::string
const &Name,
int const &Default = 0)
const {
return FindI(Name.c_str(),Default);};
89 bool FindB(
const char *Name,
bool const &Default =
false)
const;
90 bool FindB(std::string
const &Name,
bool const &Default =
false)
const {
return FindB(Name.c_str(),Default);};
91 std::string FindAny(
const char *Name,
const char *Default = 0)
const;
93 inline void Set(
const std::string &Name,
const std::string_view &Value) {Set(Name.c_str(),Value);};
94 void CndSet(
const char *Name,
const std::string_view &Value);
95 void CndSet(
const char *Name,
const int Value);
96 void Set(
const char *Name,
const std::string_view &Value);
97 void Set(
const char *Name,
const int &Value);
99 inline bool Exists(
const std::string &Name)
const {
return Exists(Name.c_str());};
100 bool Exists(
const char *Name)
const;
101 bool ExistsAny(
const char *Name)
const;
103 void MoveSubTree(
char const *
const OldRoot,
char const *
const NewRoot);
106 void Clear(
const std::string &Name);
110 void Clear(std::string
const &List, std::string
const &Value);
111 void Clear(std::string
const &List,
int const &Value);
113 inline const Item *Tree(
const char *Name)
const {
return Lookup(Name);};
115 inline void Dump() { Dump(std::clog); };
116 void Dump(std::ostream& str);
117 void Dump(std::ostream& str,
char const *
const root,
118 char const *
const format,
bool const emptyValue);
120#ifdef APT_COMPILING_APT
121 bool SectionInSubTree(
char const *
const SubTree, std::string_view Needle);
130 std::vector<regex_t *> patterns;
131 APT_HIDDEN
void clearPatterns();
138 bool Match(
char const * str)
const;
139 bool Match(std::string
const &str)
const {
return Match(str.c_str()); };