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_ &&
164 const String& getFilename()
const;
169 void setFilename(
const String& filename);
179 bool isValid()
const;
256 bool appendLine(
const String& section_name,
const String& line);
259 bool appendLine(
const String& line);
263 Size getNumberOfLines()
const;
271 bool hasSection(
const String& section_name)
const;
289 Size getNumberOfSections()
const;
315 Size getSectionLength(
const String& section_name)
const;
322 bool deleteSection(
const String& section);
327 bool appendSection(
const String& section);
341 bool hasEntry(
const String& section,
const String& key)
const;
408 void setDuplicateKeyCheck(
bool mode);
412 bool duplicateKeyCheckEnabled()
const;
415 std::list<String> getContent()
const
419 bool setContent(
const std::list<String>& lines)
460 std::list<String>::iterator getPosition();
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);
524 const std::list<Section>* getBound_()
const;
527 void setLine_(
const String& line);
531 std::list<Section>* bound_;
533 std::list<String>::iterator position_;
538 #endif // BALL_FORMAT_INIFILE_H
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
static const String HEADER
std::list< Section >::iterator SectionIterator
std::list< Section > sections_
BALL_EXPORT bool operator<(const String &s1, const String &s2)
static const String UNDEFINED
StringHashMap< std::list< String >::iterator > key_map_
BALL_EXPORT bool operator>(const String &s1, const String &s2)
BALL_INLINE TAngle< T > operator*(const T &val, const TAngle< T > &angle)
StringHashMap< SectionIterator > section_index_
std::list< String > lines_
IteratorTraits_ LineIterator
const String & getName() const
bool check_duplicate_keys_
Interface for the LineIterator.
BALL_EXPORT bool operator==(const String &s1, const String &s2)
ConstRandomAccessIterator< Container, DataType, Position, Traits > operator+(Distance distance, const ConstRandomAccessIterator< Container, DataType, Position, Traits > &iterator)
#define BALL_CREATE(name)