108 #include "sysconfig.hpp"
114 #include <string_view>
133 std::string message_;
150 auto line() const noexcept ->
unsigned;
157 auto
column() const noexcept ->
unsigned;
164 auto
what() const noexcept -> const
char* override;
213 auto get_type() const noexcept ->
type;
220 auto get_line() const noexcept ->
unsigned;
227 auto get_column() const noexcept ->
unsigned;
235 auto get_value() const noexcept -> const
std::
string&;
266 option(std::string key, std::string value) noexcept;
275 option(std::string key, std::vector<std::string> values) noexcept;
289 auto get_value() const noexcept -> const
std::
string&;
321 auto contains(
std::string_view key) const noexcept ->
bool;
329 auto get(
std::string_view key) const noexcept ->
option;
337 auto find(
std::string_view key) noexcept -> iterator;
345 auto find(
std::string_view key) const noexcept -> const_iterator;
363 auto operator[](
std::string_view key) const -> const
option&;
384 auto contains(std::string_view key)
const noexcept -> bool;
400 auto find(std::string_view key) noexcept -> iterator;
408 auto find(std::string_view key)
const noexcept -> const_iterator;
431 using std::vector<section>::operator[];
446 auto analyse(std::istreambuf_iterator<char> it, std::istreambuf_iterator<char> end) ->
tokens;
Ini document description.
Definition: ini.hpp:376
auto operator[](std::string_view key) const -> const section &
auto find(std::string_view key) noexcept -> iterator
auto operator[](std::string_view key) -> section &
auto get(std::string_view key) const noexcept -> section
auto contains(std::string_view key) const noexcept -> bool
auto find(std::string_view key) const noexcept -> const_iterator
exception in a file.
Definition: ini.hpp:129
auto what() const noexcept -> const char *override
auto line() const noexcept -> unsigned
exception(unsigned line, unsigned column, std::string msg) noexcept
auto column() const noexcept -> unsigned
option definition.
Definition: ini.hpp:246
option(std::string key, std::string value) noexcept
auto get_key() const noexcept -> const std::string &
option(std::string key, std::vector< std::string > values) noexcept
option(std::string key) noexcept
Section that contains one or more options.
Definition: ini.hpp:295
auto get_key() const noexcept -> const std::string &
section(std::string key) noexcept
Describe a token read in the .ini source.
Definition: ini.hpp:174
token(type type, unsigned line, unsigned column, std::string value="") noexcept
type
token type.
Definition: ini.hpp:179
@ section
[section]
Definition: ini.hpp:182
@ tryinclude
tryinclude statement
Definition: ini.hpp:181
@ list_end
end of list )
Definition: ini.hpp:187
@ include
include statement
Definition: ini.hpp:180
@ list_begin
begin of list (
Definition: ini.hpp:186
@ quoted_word
word with quotes
Definition: ini.hpp:184
@ assign
= assignment
Definition: ini.hpp:185
@ word
word without quotes
Definition: ini.hpp:183
Abstract stream interface.
Definition: stream.hpp:58
auto read_string(const std::string &buffer) -> document
void dump(const tokens &tokens)
auto analyse(std::istreambuf_iterator< char > it, std::istreambuf_iterator< char > end) -> tokens
auto read_file(const std::string &filename) -> document
auto parse(const tokens &tokens, const std::string &path=".") -> document
std::vector< token > tokens
Definition: ini.hpp:241
Parent namespace.
Definition: acceptor.hpp:43