11 # include <vcl_msvc_warnings.h> 35 std::string pretty_name,
41 std::string description)
44 pretty_name(std::move(pretty_name)),
47 width_functor(width_functor),
48 condition_functor(condition_functor),
49 units(std::move(units)),
50 description(std::move(description))
52 assert(!
tag.empty() &&
"vil_nitf2_field_definition:: null tag");
53 assert(
formatter !=
nullptr &&
"vil_nitf2_field_definition:: null formatter");
95 push_back(it->copy());
102 std::string pretty_name,
108 std::string description)
111 std::move(tag), std::move(pretty_name), formatter, blanks_ok,
112 width_functor, condition_functor, std::move(units), std::move(description)));
128 for (
auto & it : *
this)
~vil_nitf2_field_definition_repeat_node() override
vil_nitf2_field_functor< int > * width_functor
virtual ~vil_nitf2_field_definitions()
vil_nitf2_field_definitions * field_definitions
vil_nitf2_field_definition_node * copy() const override
virtual vil_nitf2_field_functor< T > * copy() const =0
vil_nitf2_field_definitions()=default
vil_nitf2_field_definitions & repeat(vil_nitf2_field_functor< int > *repeat_functor, vil_nitf2_field_definitions &field_definitions)
vil_nitf2_field_definitions & field(std::string tag, std::string pretty_name, vil_nitf2_field_formatter *formatter, bool blanks_ok=false, vil_nitf2_field_functor< int > *width_functor=nullptr, vil_nitf2_field_functor< bool > *condition_functor=nullptr, std::string units="", std::string description="")
~vil_nitf2_field_definition() override
vil_nitf2_field_definition_node * copy() const override
vil_nitf2_field_definition_repeat_node * repeat_node()
bool is_variable_width() const
vil_nitf2_field_definition_repeat_node(vil_nitf2_field_functor< int > *repeat_functor, vil_nitf2_field_definitions *field_definitions)
vil_nitf2_field_formatter * formatter
bool is_repeat_node() const
vil_nitf2_field_functor< int > * repeat_functor
vil_nitf2_field_definition(std::string tag, std::string pretty_name, vil_nitf2_field_formatter *formatter, bool blanks_ok=false, vil_nitf2_field_functor< int > *width_functor=nullptr, vil_nitf2_field_functor< bool > *condition_functor=nullptr, std::string units="", std::string description="")
vil_nitf2_field_functor< bool > * condition_functor
vil_nitf2_field_definition * field_definition()
bool is_field_definition() const