1 #ifndef INICPP_SECTION_SCHEMA_H     2 #define INICPP_SECTION_SCHEMA_H     9 #include "option_schema.h"    40         using opt_schema_vector = std::vector<std::shared_ptr<option_schema>>;
    41         using opt_schema_map = std::map<std::string, std::shared_ptr<option_schema>>;
    42         using opt_schema_map_pair = std::pair<std::string, std::shared_ptr<option_schema>>;
    47         item_requirement requirement_;
    52         opt_schema_vector options_;
    54         opt_schema_map options_map_;
    88         const std::string &get_name() 
const;
    93         bool is_mandatory() 
const;
    98         const std::string &get_comment() 
const;
   113             auto add_it = options_map_.find(arguments.
name);
   114             if (add_it == options_map_.end()) {
   115                 std::shared_ptr<option_schema> add = std::make_shared<option_schema>(arguments);
   116                 options_.push_back(add);
   117                 options_map_.insert(opt_schema_map_pair(add->get_name(), add));
   127         void remove_option(
const std::string &
name);
   161         const option_schema &operator[](
const std::string &option_name) 
const;
   167         bool contains(
const std::string &option_name) 
const;
   175         void validate_section(
section §, schema_mode mode) 
const;
   183         std::ostream &write_additional_info(std::ostream &os) 
const;
   190         std::ostream &write_section_name(std::ostream &os) 
const;
   197         INICPP_API 
friend std::ostream &operator<<(std::ostream &os, 
const section_schema §_schema);
   200     INICPP_API std::ostream &operator<<(std::ostream &os, 
const section_schema §_schema);
 
void add_option(const option_schema_params< ArgType > &arguments)
 
item_requirement requirement