28 #ifndef FISX_SIMPLE_INI_H 29 #define FISX_SIMPLE_INI_H 44 void readFileName(std::string fileName);
54 std::vector<std::string> & destination, \
55 const bool & caseSensitive =
true);
63 const std::map<std::string, std::string> &
readSection(
const std::string & section,
64 const bool & caseSensitive =
true);
69 static void toUpper(std::string & s,
const std::locale & loc = std::locale())
71 std::string::size_type i;
72 for (i = 0; i < s.size(); i++)
74 s[i] = std::toupper(s[i], loc);
81 static void toLower(std::string & s,
const std::locale & loc = std::locale())
83 std::string::size_type i;
84 for (i = 0; i < s.size(); i++)
86 s[i] = std::tolower(s[i], loc);
96 const T & defaultValue)
98 std::stringstream stream(keyContent);
99 stream >> destination;
102 destination = defaultValue;
107 static void parseStringAsMultipleValues(
const std::string & keyContent,
108 std::vector<T> & destination,
109 const T & defaultValue,
110 const char & separator =
',')
112 std::stringstream ss(keyContent);
116 while (std::getline(ss, item, separator))
118 if (SimpleIni::stringConverter(item, result))
119 destination.push_back(result);
121 destination.push_back(defaultValue);
126 static bool stringConverter(
const std::string& str, T & number)
128 std::istringstream i(str);
140 static bool startsWith(
const std::string& stringToCheck,
const std::string& testString) {
141 return testString.length() <= stringToCheck.length()
142 && std::equal(testString.begin(), testString.end(), stringToCheck.begin());
146 std::string fileName;
147 std::map<std::string, std::map<std::string, std::string> > sectionContents;
148 std::vector<std::string> sections;
149 std::map<std::string, long> sectionPositions;
150 std::map<std::string, std::string> defaultContent;
155 #endif // FISX_SIMPLE_INI_H static void toUpper(std::string &s, const std::locale &loc=std::locale())
Definition: fisx_simpleini.h:69
Definition: fisx_element.cpp:34
const std::vector< std::string > & getSections()
Definition: fisx_simpleini.cpp:233
void getSubsections(const std::string &parent, std::vector< std::string > &destination, const bool &caseSensitive=true)
Definition: fisx_simpleini.cpp:238
static bool startsWith(const std::string &stringToCheck, const std::string &testString)
Definition: fisx_simpleini.h:140
const std::map< std::string, std::string > & readSection(const std::string §ion, const bool &caseSensitive=true)
Definition: fisx_simpleini.cpp:290
static void parseStringAsSingleValue(const std::string &keyContent, T &destination, const T &defaultValue)
Definition: fisx_simpleini.h:94
Definition: fisx_simpleini.h:39
static void toLower(std::string &s, const std::locale &loc=std::locale())
Definition: fisx_simpleini.h:81