13 # include <vcl_msvc_warnings.h> 19 int variable_width,
bool* error)
21 if (error) (*error) =
false;
22 if (!definition || !definition->
formatter) {
23 std::cerr <<
"vil_nitf2_field::read(): Incomplete field definition!\n";
28 if (variable_width > 0) formatter->
field_width = variable_width;
38 if (result!=
nullptr) {
41 }
else if (is_blank && !definition->
blanks_ok) {
43 if (error) (*error) =
true;
44 }
else if (is_blank) {
48 if (error) (*error) =
true;
57 std::cerr <<
"vil_nitf2_scalar_field::write(): Incomplete field definition!\n";
63 if (variable_width > 0) formatter->
field_width = variable_width;
79 buffer = (
char*)std::malloc( (std::size_t) num_to_read+1 );
80 str->read( (
void*)buffer, num_to_read );
81 buffer[(std::size_t) num_to_read] = 0;
82 tr->
columns.emplace_back( buffer );
virtual field_tree * get_tree() const
std::vector< std::string > columns
#define VIL_NITF2_LOG(LEVEL)
bool write(vil_nitf2_ostream &output, int variable_width=-1) const
Stream interface for VIL image loaders.
field_tree * get_tree() const override
An in-core vil_stream implementation.
vil_nitf2_field_definition * m_definition
vil_nitf2_field_formatter * formatter
virtual std::ostream & output(std::ostream &os) const =0
static vil_nitf2_scalar_field * read(vil_nitf2_istream &input, vil_nitf2_field_definition *definition, int variable_width=-1, bool *error=nullptr)
An in-core vil_stream implementation.