44 using keys_list = std::list<std::pair<std::string, std::string>>;
51 class CORE_LIBRARY_DLL_SHARED_API
Line 55 virtual ~
Line() =
default;
58 Line& operator=(
Line const&) =
default;
66 virtual void Print(std::ostream& os,
bool addLineFeed =
true)
const = 0;
81 #ifdef USE_EXPLICIT_MOVE_ 97 void Print(std::ostream& os,
bool addLineFeed =
true)
const override;
114 #ifdef USE_EXPLICIT_MOVE_ 129 const std::string& Comment()
const;
135 void Print(std::ostream& os,
bool addLineFeed =
true)
const override;
139 std::string m_comment{};
156 #ifdef USE_EXPLICIT_MOVE_ 171 const std::string& Section()
const;
177 void Print(std::ostream& os,
bool addLineFeed =
true)
const override;
181 std::string m_section{};
193 KeyLine(
const std::string& key,
const std::string& value);
198 #ifdef USE_EXPLICIT_MOVE_ 213 const std::string& Key()
const;
218 const std::string& Value()
const;
223 void Value(
const std::string& value);
228 void Value(std::string&& value);
234 void Print(std::ostream& os,
bool addLineFeed =
true)
const override;
240 std::string m_value{};
254 #endif // INIFILELINES std::list< std::pair< std::string, std::string > > keys_list
Typedef defining the key-value pair list for section entries.
Definition: IniFileLines.h:44
Class to manage a section key line in an INI file.
Definition: IniFileLines.h:185
std::list< std::shared_ptr< Line > > line_list
Line list typedef.
Definition: IniFileLines.h:244
Class to manage a blank line in an INI file.
Definition: IniFileLines.h:70
The core_lib namespace.
Definition: AsioDefines.h:59
line_list::const_iterator line_citer
Line list const iterator typedef.
Definition: IniFileLines.h:248
Abstract base class to manage a line in an INI file.
Definition: IniFileLines.h:51
File containing declaration of DLL import/export control defines.
line_list::iterator line_iter
Line list iterator typedef.
Definition: IniFileLines.h:246
Class to manage a section header line in an INI file.
Definition: IniFileLines.h:143