19 #ifndef SBUILD_KEYFILE_H
20 #define SBUILD_KEYFILE_H
22 #include <sbuild/sbuild-basic-keyfile.h>
103 if (line.length() == 0)
107 else if (line[0] ==
'#')
113 else if (line[0] ==
'[')
115 std::string::size_type fpos = line.find_first_of(
']');
116 std::string::size_type lpos = line.find_last_of(
']');
117 if (fpos == std::string::npos || lpos == std::string::npos ||
120 group = line.substr(1, fpos - 1);
122 if (
group.length() == 0)
130 std::string::size_type pos = line.find_first_of(
'=');
131 if (pos == std::string::npos)
135 key = line.substr(0, pos);
136 if (pos == line.length() - 1)
139 value = line.substr(pos + 1);
K::size_type line_number
Line number.
Definition: sbuild-basic-keyfile.h:94
unsigned int size_type
Line number.
Definition: sbuild-keyfile.h:46
The group is invalid.
Definition: sbuild-keyfile-base.h:66
bool key_set
Key name is set.
Definition: sbuild-basic-keyfile.h:79
The line is invalid.
Definition: sbuild-keyfile-base.h:68
bool comment_set
Comment is set.
Definition: sbuild-basic-keyfile.h:91
Basic keyfile parser template.
Definition: sbuild-basic-keyfile.h:44
bool group_set
Group name is set.
Definition: sbuild-basic-keyfile.h:73
std::string comment_type
Comment.
Definition: sbuild-keyfile.h:43
Configuration file parser.
Definition: sbuild-basic-keyfile.h:138
virtual void parse_line(std::string const &line)
Parse a line of input.
Definition: sbuild-basic-keyfile.h:117
No key was specified.
Definition: sbuild-keyfile-base.h:72
Traits class for an INI-style configuration file.
Definition: sbuild-keyfile.h:31
K::value_type value
Value.
Definition: sbuild-basic-keyfile.h:82
std::string key_type
Key name.
Definition: sbuild-keyfile.h:37
std::string value_type
Value.
Definition: sbuild-keyfile.h:40
std::string group_name_type
Group name.
Definition: sbuild-keyfile.h:34
Parse error.
Definition: sbuild-parse-error.h:35
No group was specified.
Definition: sbuild-keyfile-base.h:71
System group database entry.
Definition: sbuild-util.h:795
basic_keyfile< keyfile_traits, keyfile_parser< keyfile_traits > > keyfile
Configuration file parser.
Definition: sbuild-keyfile.h:159
K::key_type key
Key name.
Definition: sbuild-basic-keyfile.h:76
K::comment_type comment
Comment.
Definition: sbuild-basic-keyfile.h:88
bool value_set
Value is set.
Definition: sbuild-basic-keyfile.h:85
virtual void parse_line(std::string const &line)
Parse a line of input.
Definition: sbuild-keyfile.h:80
Keyfile parser template.
Definition: sbuild-keyfile.h:53