10 # include <vcl_msvc_warnings.h> 19 ~field_definition_map_t()
21 for (
auto & it : *
this)
28 static field_definition_map_t field_definitions;
29 return field_definitions;
37 throw(
"des with that name already defined.");
45 : m_field_sequence1( nullptr ),
46 m_field_sequence2( nullptr )
56 if ( desId ==
"TRE_OVERFLOW" ){
77 return field_definitions;
84 .field(
"DESID",
"Unique DES Type Identifier",
NITF_STR( 25 ),
85 false,
nullptr,
nullptr )
86 .field(
"DESVER",
"Version of the Data Definition",
NITF_INT( 2,
false ),
false,
nullptr,
nullptr );
92 overflow_enum.
value(
"UDHD",
"User Defined Header Data" )
93 .
value(
"UDID" "User Defined Image Data" )
94 .
value(
"XHD",
"Extended Header Data" )
95 .
value(
"IXSHD",
"Image Extended Subheader Data" )
96 .
value(
"SXSHD",
"Graphic Extended Subheader Data" )
97 .
value(
"TXSHD",
"Text Extended Subheader Data" );
99 .field(
"DESOFLW",
"Overflowed Header Type",
NITF_ENUM( 6, overflow_enum ),
101 .field(
"DESITEM",
"Data Item Overflowed",
NITF_INT( 3,
false ),
103 .field(
"DESSHL",
"Length of DES-Defined Subheader Fields",
NITF_INT( 4,
false ),
false,
nullptr,
nullptr )
104 .field(
"DESDATA",
"DES-Defined Data Field",
NITF_TRES(),
false,
113 std::stringstream name_stream;
114 name_stream <<
"Data Extension Segment";
115 if ( i > 0 ) name_stream <<
" #" << i;
116 t->
columns.push_back( name_stream.str() );
119 t->columns.push_back( desId );
Functor vil_nitf2_field_value_one_of defines a predicate that sets its out parameter to true iff the ...
static vil_nitf2_field_definitions & define(std::string desId)
Functor vil_nitf2_max_field_value_plus_offset_and_threshold defines a function that sets its out para...
bool read(vil_nitf2_istream &input, const vil_nitf2_field_definitions *field_defs=nullptr, const vil_nitf2_index_vector &indexes=vil_nitf2_index_vector())
std::vector< std::string > columns
static field_definition_map & all_definitions()
vil_nitf2_field_sequence * m_field_sequence2
static void add_field_defs(vil_nitf2_field_definitions *defs, const file_version &version, std::string prefix, const std::string &pretty_name_prefix)
static void add_shared_field_defs_1(vil_nitf2_field_definitions *defs)
static void add_shared_field_defs_2(vil_nitf2_field_definitions *defs, int data_width)
virtual vil_nitf2_field::field_tree * get_tree(int i=0) const
vil_nitf2_field_sequence * m_field_sequence1
Stream interface for VIL image loaders.
vil_nitf2_des(vil_nitf2_classification::file_version version, int data_width)
virtual bool read(vil_stream *stream)
read the des starting at stream's current position returns false if failed
static vil_nitf2_field_definitions * create_field_definitions(vil_nitf2_classification::file_version ver, int data_width)
bool get_value(std::string tag, int &out_value) const
virtual vil_nitf2_field::field_tree * get_tree(vil_nitf2_field::field_tree *tr=nullptr) const
std::map< std::string, vil_nitf2_field_definitions * > field_definition_map
vil_nitf2_enum_values & value(std::string token, std::string pretty_name="")