30 const bool additional_properties_)
32 required(
std::move(required_)),
33 additional_properties(additional_properties_)
52 const std::string &documentation)
const 58 "The Object must be defined in a subsection called properties.");
65 Pointer((path +
"/type").c_str()).Set(declarations,
"object");
66 Pointer((path +
"/description").c_str()).Set(declarations,documentation.c_str());
71 for (
unsigned int i = 0; i <
required.size(); ++i)
73 if (i == 0 && Pointer((path +
"/required").c_str()).Get(declarations) ==
nullptr)
76 Pointer((path +
"/required/0").c_str()).Create(declarations);
77 Pointer((path +
"/required/0").c_str()).Set(declarations,
required[i].c_str());
82 Pointer((path +
"/required/-").c_str()).Set(declarations,
required[i].c_str());
std::vector< std::string > required
void enter_subsection(const std::string &name)
void write_schema(Parameters &prm, const std::string &name, const std::string &documentation) const override final
std::string get_full_json_path(size_t max_size=std::numeric_limits< size_t >::max()) const
Object(std::vector< std::string > required=std::vector< std::string >(), const bool additional_properties=false)
bool additional_properties
#define WBAssertThrow(condition, message)
std::vector< std::string > path
rapidjson::Document declarations