Go to the documentation of this file.
7 #ifndef BALL_FORMAT_INIFILE_H
8 #define BALL_FORMAT_INIFILE_H
10 #ifndef BALL_DATATYPE_STRINGHASHMAP_H
14 #ifndef BALL_CONCEPT_PROCESSOR_H
38 MAX_LINE_LENGTH = 1048576
41 class IteratorTraits_;
60 return (name_ == section.
name_ &&
460 std::list<
String>::iterator getPosition();
484 bool operator + () const;
487 bool isValid() const;
490 void toSectionFirstLine();
493 void toSectionLastLine();
499 bool isSectionFirstLine() const;
502 bool isSectionLastLine() const;
505 bool isSectionEnd() const;
521 std::list<
String>::iterator line);
533 std::list<
String>::iterator position_;
538 #endif // BALL_FORMAT_INIFILE_H
const String & getFilename() const
INIFile(const String &filename)
bool insertLine(LineIterator line_it, const String &line)
bool appendLine(const String &line)
Append a line to the last section.
bool hasEntry(const String §ion, const String &key) const
bool isValid(const LineIterator &it) const
LineIterator getSectionFirstLine(const String §ion_name)
static const String HEADER
bool setContent(const std::list< String > &lines)
std::list< Section >::iterator SectionIterator
std::list< Section > sections_
BALL_EXPORT bool operator<(const String &s1, const String &s2)
bool deleteSection(const String §ion)
static const String UNDEFINED
bool isValid(const SectionIterator &it) const
StringHashMap< std::list< String >::iterator > key_map_
BALL_EXPORT bool operator>(const String &s1, const String &s2)
void setDuplicateKeyCheck(bool mode)
StringHashMap< SectionIterator > section_index_
std::list< String > lines_
IteratorTraits_ LineIterator
const String & getName() const
bool setValue(const String §ion, const String &key, const String &value)
SectionIterator getSection(Position pos)
bool setLine(LineIterator line_it, const String &line)
bool check_duplicate_keys_
String getValue(const String §ion, const String &key) const
Size getNumberOfSections() const
bool hasSection(const String §ion_name) const
Interface for the LineIterator.
bool deleteLine(LineIterator line_it)
bool appendLine(const String §ion_name, const String &line)
bool apply(UnaryProcessor< LineIterator > &processor)
Size getSectionLength(const String §ion_name) const
LineIterator getLine(Size line_number)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
bool insertValue(const String §ion, const String &key, const String &value)
bool duplicateKeyCheckEnabled() const
LineIterator getSectionLastLine(const String §ion_name)
SectionIterator getSection(const String §ion_name)
Size getNumberOfLines() const
#define BALL_CREATE(name)
void setFilename(const String &filename)
bool appendSection(const String §ion)
std::list< String > getContent() const