19#ifndef LOMIRI_UTIL_INIPARSER_H
20#define LOMIRI_UTIL_INIPARSER_H
22#include <lomiri/SymbolExport.h>
36struct IniParserPrivate;
92 bool has_group(
const std::string& group)
const noexcept;
93 bool has_key(
const std::string& group,
const std::string& key)
const;
95 std::string get_string(
const std::string& group,
const std::string& key)
const;
96 std::string get_locale_string(
const std::string& group,
97 const std::string& key,
98 const std::string& locale = std::string())
const;
99 bool get_boolean(
const std::string& group,
const std::string& key)
const;
100 int get_int(
const std::string& group,
const std::string& key)
const;
101 double get_double(
const std::string& group,
const std::string& key)
const;
103 std::vector<std::string> get_string_array(
const std::string& group,
const std::string& key)
const;
104 std::vector<std::string> get_locale_string_array(
const std::string& group,
105 const std::string& key,
106 const std::string& locale = std::string())
const;
107 std::vector<bool> get_boolean_array(
const std::string& group,
const std::string& key)
const;
108 std::vector<int> get_int_array(
const std::string& group,
const std::string& key)
const;
109 std::vector<double> get_double_array(
const std::string& group,
const std::string& key)
const;
111 std::string get_start_group()
const;
112 std::vector<std::string> get_groups()
const;
113 std::vector<std::string> get_keys(
const std::string& group)
const;
122 bool remove_group(
const std::string& group);
123 bool remove_key(
const std::string& group,
const std::string& key);
125 void set_string(
const std::string& group,
const std::string& key,
const std::string& value);
126 void set_locale_string(
const std::string& group,
127 const std::string& key,
128 const std::string& value,
129 const std::string& locale = std::string());
130 void set_boolean(
const std::string& group,
const std::string& key,
bool value);
131 void set_int(
const std::string& group,
const std::string& key,
int value);
132 void set_double(
const std::string& group,
const std::string& key,
double value);
134 void set_string_array(
const std::string& group,
const std::string& key,
const std::vector<std::string>& value);
135 void set_locale_string_array(
const std::string& group,
136 const std::string& key,
137 const std::vector<std::string>& value,
138 const std::string& locale = std::string());
139 void set_boolean_array(
const std::string& group,
const std::string& key,
const std::vector<bool>& value);
140 void set_int_array(
const std::string& group,
const std::string& key,
const std::vector<int>& value);
141 void set_double_array(
const std::string& group,
const std::string& key,
const std::vector<double>& value);
153 internal::IniParserPrivate* p;
#define LOMIRI_DEFINES_PTRS(classname)
Macro to add smart pointer definitions to a class.
Definition: DefinesPtrs.h:52
Helper class to read and write configuration files.
Definition: IniParser.h:71
Top-level namespace for all things Lomiri-related.
Definition: Version.h:38