core
vil
file_formats
vil_nitf2.cxx
Go to the documentation of this file.
1
// vil_nitf2: Written by Rob Radtke (rob@) and Harry Voorhees (hlv@) of
2
// Stellar Science Ltd. Co. (stellarscience.com) for
3
// Air Force Research Laboratory, 2005.
4
5
#include "
vil_nitf2.h
"
6
7
// (To enable debug logging, set value to vil_nitf2::log_debug)
8
vil_nitf2::enum_log_level
vil_nitf2::s_log_level
=
vil_nitf2::log_none
;
9
10
#include "
vil_nitf2_header.h
"
11
#include "
vil_nitf2_field_definition.h
"
12
#include "
vil_nitf2_image_subheader.h
"
13
14
void
vil_nitf2::cleanup_static_members
()
15
{
16
// Commented out to test whether this function is needed to avoid reported
17
// memory leaks. We'll see what valgrid says.
18
if
(
vil_nitf2_header::s_field_definitions_1
) {
19
delete
vil_nitf2_header::s_field_definitions_1
;
20
vil_nitf2_header::s_field_definitions_1
=
nullptr
;
21
}
22
23
if
(
vil_nitf2_header::s_field_definitions_20
) {
24
delete
vil_nitf2_header::s_field_definitions_20
;
25
vil_nitf2_header::s_field_definitions_20
=
nullptr
;
26
}
27
28
if
(
vil_nitf2_header::s_field_definitions_21
) {
29
delete
vil_nitf2_header::s_field_definitions_21
;
30
vil_nitf2_header::s_field_definitions_21
=
nullptr
;
31
}
32
33
if
(
vil_nitf2_image_subheader::s_field_definitions_20
) {
34
delete
vil_nitf2_image_subheader::s_field_definitions_20
;
35
vil_nitf2_image_subheader::s_field_definitions_20
=
nullptr
;
36
}
37
38
if
(
vil_nitf2_image_subheader::s_field_definitions_21
) {
39
delete
vil_nitf2_image_subheader::s_field_definitions_21
;
40
vil_nitf2_image_subheader::s_field_definitions_21
=
nullptr
;
41
}
42
43
}
44
45
class
vil_nitf2_auto_cleanup
46
{
47
public
:
48
~vil_nitf2_auto_cleanup
()
49
{
50
vil_nitf2::cleanup_static_members
();
51
}
52
};
53
54
static
vil_nitf2_auto_cleanup
cleanup_object;
vil_nitf2_field_definition.h
vil_nitf2::log_none
Definition:
vil_nitf2.h:44
vil_nitf2_header::s_field_definitions_21
static vil_nitf2_field_definitions * s_field_definitions_21
Definition:
vil_nitf2_header.h:84
vil_nitf2_header::s_field_definitions_1
static vil_nitf2_field_definitions * s_field_definitions_1
Definition:
vil_nitf2_header.h:83
vil_nitf2_image_subheader::s_field_definitions_20
static vil_nitf2_field_definitions * s_field_definitions_20
Definition:
vil_nitf2_image_subheader.h:151
vil_nitf2_auto_cleanup
Definition:
vil_nitf2.cxx:45
vil_nitf2.h
vil_nitf2_image_subheader::s_field_definitions_21
static vil_nitf2_field_definitions * s_field_definitions_21
Definition:
vil_nitf2_image_subheader.h:150
vil_nitf2::s_log_level
static enum_log_level s_log_level
Definition:
vil_nitf2.h:48
vil_nitf2_image_subheader.h
vil_nitf2_header.h
vil_nitf2_header::s_field_definitions_20
static vil_nitf2_field_definitions * s_field_definitions_20
Definition:
vil_nitf2_header.h:85
vil_nitf2::cleanup_static_members
static void cleanup_static_members()
Call this function to flush all of the nitf2 classes statically allocated memory.
Definition:
vil_nitf2.cxx:14
vil_nitf2_auto_cleanup::~vil_nitf2_auto_cleanup
~vil_nitf2_auto_cleanup()
Definition:
vil_nitf2.cxx:48
vil_nitf2::enum_log_level
enum_log_level
Definition:
vil_nitf2.h:44
Generated by
1.8.15