C++ Utilities  5.3.0
Useful C++ classes and routines such as argument parser, IO and conversion utilities
inifile.h
Go to the documentation of this file.
1 #ifndef IOUTILITIES_INIFILE_H
2 #define IOUTILITIES_INIFILE_H
3 
4 #include "../global.h"
5 
6 #include <iosfwd>
7 #include <map>
8 #include <string>
9 #include <vector>
10 
11 namespace CppUtilities {
12 
14 public:
15  using ScopeName = std::string;
16  using ScopeData = std::multimap<std::string, std::string>;
17  using Scope = std::pair<ScopeName, ScopeData>;
18  using ScopeList = std::vector<Scope>;
19 
20  IniFile();
21  ScopeList &data();
22  const ScopeList &data() const;
23  void parse(std::istream &inputStream);
24  void make(std::ostream &outputStream);
25 
26 private:
27  ScopeList m_data;
28 };
29 
34 {
35 }
36 
44 {
45  return m_data;
46 }
47 
52 inline const IniFile::ScopeList &IniFile::data() const
53 {
54  return m_data;
55 }
56 
57 } // namespace CppUtilities
58 
59 #endif // IOUTILITIES_INIFILE_H
CppUtilities::IniFile::IniFile
IniFile()
Constructs an empty ini file.
Definition: inifile.h:33
CppUtilities::IniFile
The IniFile class parses and makes INI files.
Definition: inifile.h:13
CppUtilities::IniFile::ScopeData
std::multimap< std::string, std::string > ScopeData
Definition: inifile.h:16
CppUtilities::IniFile::ScopeList
std::vector< Scope > ScopeList
Definition: inifile.h:18
CppUtilities
Contains all utilities provides by the c++utilities library.
Definition: argumentparser.h:17
CppUtilities::IniFile::ScopeName
std::string ScopeName
Definition: inifile.h:15
CppUtilities::IniFile::data
ScopeList & data()
Returns the data of the file.
Definition: inifile.h:43
CppUtilities::IniFile::Scope
std::pair< ScopeName, ScopeData > Scope
Definition: inifile.h:17
CPP_UTILITIES_EXPORT
#define CPP_UTILITIES_EXPORT
Marks the symbol to be exported by the c++utilities library.