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_;
58 bool operator == (
const Section& section)
const
60 return (name_ == section.
name_ &&
65 bool operator < (
const Section& section)
const
69 bool operator > (
const Section& section)
const
390 bool operator == (
const INIFile& inifile)
const;
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;
#define BALL_CREATE(name)
Size getSectionLength(const String §ion_name) const
bool duplicateKeyCheckEnabled() const
bool appendSection(const String §ion)
std::list< Section >::iterator SectionIterator
bool insertLine(LineIterator line_it, const String &line)
LineIterator getSectionLastLine(const String §ion_name)
bool isValid(const LineIterator &it) const
bool setLine(LineIterator line_it, const String &line)
SectionIterator getSection(const String §ion_name)
bool deleteSection(const String §ion)
StringHashMap< SectionIterator > section_index_
void setDuplicateKeyCheck(bool mode)
LineIterator getSectionFirstLine(const String §ion_name)
bool deleteLine(LineIterator line_it)
bool appendLine(const String &line)
Append a line to the last section.
static const String HEADER
std::list< String > getContent() const
bool hasSection(const String §ion_name) const
bool appendLine(const String §ion_name, const String &line)
IteratorTraits_ LineIterator
Size getNumberOfLines() const
LineIterator getLine(Size line_number)
static const String UNDEFINED
INIFile(const String &filename)
void setFilename(const String &filename)
Size getNumberOfSections() const
bool isValid(const SectionIterator &it) const
std::list< Section > sections_
bool setContent(const std::list< String > &lines)
SectionIterator getSection(Position pos)
bool check_duplicate_keys_
String getValue(const String §ion, const String &key) const
bool apply(UnaryProcessor< LineIterator > &processor)
const String & getFilename() const
bool insertValue(const String §ion, const String &key, const String &value)
bool setValue(const String §ion, const String &key, const String &value)
bool hasEntry(const String §ion, const String &key) const
StringHashMap< std::list< String >::iterator > key_map_
std::list< String > lines_
const String & getName() const
Interface for the LineIterator.