| 
    inicpp
    
   C++ parser of INI files with schema validation. 
   | 
 
#include <schema.h>
Public Member Functions | |
| schema () | |
| schema (const schema &source) | |
| schema & | operator= (const schema &source) | 
| schema (schema &&source) | |
| schema & | operator= (schema &&source) | 
| void | add_section (const section_schema §_schema) | 
| void | add_section (const section_schema_params &arguments) | 
| void | add_option (const std::string §ion_name, const option_schema &opt_schema) | 
| template<typename ArgType > | |
| void | add_option (const std::string §ion_name, option_schema_params< ArgType > &arguments) | 
| size_t | size () const | 
| section_schema & | operator[] (size_t index) | 
| const section_schema & | operator[] (size_t index) const | 
| section_schema & | operator[] (const std::string §ion_name) | 
| const section_schema & | operator[] (const std::string §ion_name) const | 
| bool | contains (const std::string §ion_name) const | 
| void | validate_config (config &cfg, schema_mode mode) const | 
Friends | |
| INICPP_API friend std::ostream & | operator<< (std::ostream &os, const schema &schm) | 
Represents base point of schema validation. Object of config class is validated against this one. Can contain schemes of sections and in them schemes for options.
| inicpp::schema::schema | ( | ) | 
Default constructor.
Definition at line 5 of file schema.cpp.
| inicpp::schema::schema | ( | const schema & | source | ) | 
Copy constructor.
Definition at line 9 of file schema.cpp.
| inicpp::schema::schema | ( | schema && | source | ) | 
Move constructor.
Definition at line 33 of file schema.cpp.
| void inicpp::schema::add_option | ( | const std::string & | section_name, | 
| const option_schema & | opt_schema | ||
| ) | 
Adds option to the section_schema with specified name.
| section_name | name of existing section | 
| opt_schema | options_schema which will be added to section | 
| not_found_exception | if section_name does not exist | 
| ambiguity_exception | if option_schema with given name exists | 
Definition at line 72 of file schema.cpp.
      
  | 
  inline | 
Creates option_schema from given arguments and adds it to specified section.
| section_name | |
| arguments | option_schema creation parameters | 
| not_found_exception | if section_name does not exist | 
| ambiguity_exception | if option_schema with given name exists | 
| void inicpp::schema::add_section | ( | const section_schema & | sect_schema | ) | 
Adds section from given attribute to internal container.
| sect_schema | constant reference to section_schema object | 
| ambiguity_exception | if section_schema with given name exists | 
Definition at line 48 of file schema.cpp.
| void inicpp::schema::add_section | ( | const section_schema_params & | arguments | ) | 
From given section_schema_params structure section_schema is created and added to this scheme.
| arguments | non-editable reference to input arguments | 
| ambiguity_exception | if section_schema with given name exists | 
Definition at line 60 of file schema.cpp.
| bool inicpp::schema::contains | ( | const std::string & | section_name | ) | const | 
Tries to find section_schema with specified name inside this config.
| section_name | name which is searched | 
Definition at line 127 of file schema.cpp.
Copy assignment.
Definition at line 23 of file schema.cpp.
Move assignment.
Definition at line 38 of file schema.cpp.
| section_schema & inicpp::schema::operator[] | ( | size_t | index | ) | 
Access section_schema on specified index.
| index | index of requested value | 
| not_found_exception | if index is out of range | 
Definition at line 87 of file schema.cpp.
| const section_schema & inicpp::schema::operator[] | ( | size_t | index | ) | const | 
Access constant reference on section_schema on specified index.
| index | index of requested value | 
| not_found_exception | if index is out of range | 
Definition at line 96 of file schema.cpp.
| section_schema & inicpp::schema::operator[] | ( | const std::string & | section_name | ) | 
Access section_schema with specified name.
| section_name | name of requested section_schema | 
| not_found_exception | if section_schema with given name does not exist | 
Definition at line 105 of file schema.cpp.
| const section_schema & inicpp::schema::operator[] | ( | const std::string & | section_name | ) | const | 
Access constant reference on section_schema with specified name.
| section_name | name of requested section_schema | 
| not_found_exception | if section_schema with given name does not exist | 
Definition at line 116 of file schema.cpp.
| size_t inicpp::schema::size | ( | ) | const | 
Returns size of section schemas list
Definition at line 82 of file schema.cpp.
| void inicpp::schema::validate_config | ( | config & | cfg, | 
| schema_mode | mode | ||
| ) | const | 
Validate cfg against this schema in specified mode.
| cfg | configuration which will be validated | 
| mode | validation mode | 
| validation_exception | if schema cannot be validated | 
Definition at line 137 of file schema.cpp.
      
  | 
  friend | 
Classic stream operator for printing this instance to output stream.
| os | output stream | 
| schm | reference to schema instance to be written | 
Definition at line 184 of file schema.cpp.