32 uint64_t max_values_in_array_,
33 std::vector<
Point<2>> default_points_)
35 default_value(default_value_),
36 max_values_in_array(max_values_in_array_),
37 default_points(
std::move(
std::move(default_points_)))
41 WBAssert(default_points_.size() == 0,
"default points are not implemented.");
60 const std::string &name,
61 const std::string &documentation)
const 69 Pointer((base +
"/type").c_str()).Set(declarations,
"array");
70 Pointer((base +
"/additionalProperties").c_str()).Set(declarations,
false);
71 Pointer((base +
"/minItems").c_str()).Set(declarations,1);
73 Pointer((base +
"/description").c_str()).Set(declarations,documentation.c_str());
76 Pointer((base +
"/items/anyOf/0/type").c_str()).Set(declarations,
"number");
77 Pointer((base +
"/items/anyOf/0/default value").c_str()).Set(declarations,
default_value);
79 Pointer((base +
"/items/anyOf/1/type").c_str()).Set(declarations,
"array");
80 Pointer((base +
"/items/anyOf/1/minItems").c_str()).Set(declarations,1);
81 Pointer((base +
"/items/anyOf/1/maxItems").c_str()).Set(declarations,std::numeric_limits<unsigned int>::max());
83 Pointer((base +
"/items/anyOf/1/items/type").c_str()).Set(declarations,
"array");
84 Pointer((base +
"/items/anyOf/1/items/minItems").c_str()).Set(declarations,1);
85 Pointer((base +
"/items/anyOf/1/items/maxItems").c_str()).Set(declarations,
max_values_in_array);
87 Pointer((base +
"/items/anyOf/1/items/items/type").c_str()).Set(declarations,
"number");
void enter_subsection(const std::string &name)
~ValueAtPoints() override
void write_schema(Parameters &prm, const std::string &name, const std::string &documentation) const override final
#define WBAssert(condition, message)
std::string get_full_json_path(size_t max_size=std::numeric_limits< size_t >::max()) const
uint64_t max_values_in_array
ValueAtPoints(const double default_value, uint64_t max_values_in_array, std::vector< Point< 2 >> default_points_=std::vector< Point< 2 >>())
rapidjson::Document declarations
std::vector< Point< 2 > > default_points