75 int pos_equals_sign =
line.find_first_of(
'=');
76 if (pos_equals_sign == string::npos)
77 throw runtime_error(
"key-value pair does not contain an equals sign");
79 string value =
line.substr(pos_equals_sign + 1);
80 if (
key.length() == 0)
89 if (
entries.count(upper_case_key) != 0)
90 throw logic_error(
"trying to redundantly add key '" + upper_case_key +
"'");
174 if (
sections.count(upper_case_name) != 0)
175 throw logic_error(
"trying to redundantly add section '" + upper_case_name +
"'");
187 while (hhp_file.good())
191 if (
line[
line.length() - 1] ==
'\015')
206 else if (
line[0] !=
';' && !
line.empty())
226 return options->title->get_value();
231 return options->contents_file->get_value();
236 return options->index_file->get_value();
241 return options->default_topic->get_value();
251 return options->compiled_file->get_value();
basic_ifstream< char, char_traits< char > > ifstream
basic_ostream< _CharT, _Traits > &_STLP_CALL endl(basic_ostream< _CharT, _Traits > &__os)
UINT32 strtoul(const char *String, char **Terminator, UINT32 Base)
virtual void process_line(string line)
virtual void process_line(string line)
void add_entry(hhp_pair *entry)
map< string, hhp_pair * > entries
hhp_pair * full_text_search_stop_list_file
hhp_pair * display_compile_note
hhp_pair * full_text_search
hhp_pair * display_compile_progress
hhp_pair(string key, bool has_default_value=false, string default_value="")
void set_value(string value)
hhp_options_section * options
string get_contents_file_string()
string get_default_topic_string()
set< string > unique_file_pathes
void add_section(hhp_section *section)
string get_compiled_file_string()
set< string >::iterator get_file_pathes_iterator_end()
set< string >::iterator get_file_pathes_iterator_begin()
hhp_reader(string filename)
string get_index_file_string()
string get_title_string()
map< string, hhp_section * > sections
void compute_unique_file_pathes_set()
hhp_files_section * files
unsigned int get_language_code()
void set_name(string name)
_STLP_PRIV _List_iterator< _Tp, _Nonconst_traits< _Tp > > iterator
_Rep_type::iterator iterator