7 #ifndef VIL_NITF2_TAGGED_RECORD_DEFINITION_H 8 #define VIL_NITF2_TAGGED_RECORD_DEFINITION_H 13 # include <vcl_msvc_warnings.h> 46 std::string field_name,
50 bool blanks_ok =
false,
56 std::string units =
"",
57 std::string description =
"");
86 typedef std::map<std::string, vil_nitf2_tagged_record_definition*>
123 #endif // VIL_NITF2_TAGGED_RECORD_DEFINITION_H
vil_nitf2_field_definition * find_field(std::string name)
Look up a field definition.
std::map< std::string, vil_nitf2_tagged_record_definition * > tagged_record_definition_map
static void register_test_tre()
Registers some TREs for testing.
void end()
Declares that definition is finished, preventing further invocations of field() or repeat().
vil_nitf2_tagged_record_definition & field(std::string field_name, 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="")
Define a field. Assumes ownership of pointer arguments.
vil_nitf2_tagged_record_definition(const vil_nitf2_tagged_record_definition &)
std::string m_pretty_name
~vil_nitf2_tagged_record_definition()
static vil_nitf2_tagged_record_definition & define(std::string name, std::string pretty_name)
Factory method. Assumes ownership of optional pointer argument.
std::string pretty_name() const
bool m_definition_completed
const vil_nitf2_field_definitions & field_definitions() const
Return field definitions.
vil_nitf2_tagged_record_definition & operator=(const vil_nitf2_tagged_record_definition &)
vil_nitf2_tagged_record_definition defines a particular tagged record extension (TRE).
static tagged_record_definition_map & all_definitions()
All tagged record definitions.
static bool undefine(const std::string &name)
Undefines a TRE. Returns whether TRE with specified name was found.
static vil_nitf2_tagged_record_definition * find(const std::string &name)
Look up a record definition.
Functors used by NITF classes.
vil_nitf2_tagged_record_definition & repeat(vil_nitf2_field_functor< int > *repeat_functor, vil_nitf2_field_definitions &field_definitions)
Define a repeat node. Assumes ownership of pointer argument.
vil_nitf2_field_definitions * m_field_definitions