datatype.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/datatype.h
22 
23  \brief This file contains include headers for the Data Type module of TerraLib.
24 */
25 
26 #ifndef __TERRALIB_INTERNAL_DATATYPE_H
27 #define __TERRALIB_INTERNAL_DATATYPE_H
28 
29 // TerraLib
30 #include "datatype/AbstractData.h"
31 #include "datatype/ArrayProperty.h"
32 #include "datatype/BitProperty.h"
33 #include "datatype/ByteArray.h"
34 #include "datatype/CompositeData.h"
36 #include "datatype/Config.h"
38 #include "datatype/DataType.h"
40 #include "datatype/Date.h"
41 #include "datatype/DateDuration.h"
42 #include "datatype/DatePeriod.h"
43 #include "datatype/DateTime.h"
47 #include "datatype/DateTimeUtils.h"
48 #include "datatype/Enums.h"
51 #include "datatype/OrdinalPeriod.h"
52 #include "datatype/Property.h"
53 #include "datatype/SimpleData.h"
56 #include "datatype/TimeDuration.h"
57 #include "datatype/TimeInstant.h"
58 #include "datatype/TimeInstantTZ.h"
59 #include "datatype/TimePeriod.h"
60 #include "datatype/TimePeriodTZ.h"
61 #include "datatype/Utils.h"
62 
63 /*!
64  \defgroup datatype Data Type
65 
66  \brief The data type module implements the type system supported
67  by TerraLib for dealing with data that comes from
68  different data sources.
69 
70  It has an important role in TerraLib
71  context since each data source has its own set of data types
72  used for representing and storing data. This module works
73  integrated with the dataaccess module.
74 
75  The main classes/concepts in this module are listed here. The namespace associated to the Data Type module is te::dt.
76  To know more about it, see the te::dt namespace documentation.
77 */
78 
79 namespace te
80 {
81  /*!
82  \brief Namespace for the Data Type module of TerraLib.
83  */
84  namespace dt
85  {
86  } // end namespace dt
87 } // end namespace te
88 
89 #endif // __TERRALIB_INTERNAL_DATATYPE_H
90 
It stores information about a data type.
A base class for a compound properties (non-atomic properties).
An abstract class for date and time types.
A base class for objects that can be retrieved from the data access module.
Property for bit types.
A base class for composite data values.
A class for representing binary data.
A singleton for managing the data type converter available in the system.
It models a property definition.
Utilitary function for the date and time types of the data type module.
A class to represent time duration.
A class to represent date period.
The type for arbitrary precision numbers, like numeric(p, q).
Configuration flags for the DataType module of TerraLib.
A class to represent ordinal time period.
A class to represent ordinal time instant.
A class to represent time period.
URI C++ Library.
A class to represent time instant.
The type for string types: FIXED_STRING, VAR_STRING or STRING.
A class to represent time instant with time zone.
The type for variable-length multidimensional arrays.
A class to represent time period with time zone.
The type for date and time types.
An atomic property like an integer or double.
General enumerations for the data type module.
A singleton for managing all data types in the system.
Utilitary function for data type module.
This file contains several implementations for atomic data types (integers, floats, strings and others).
An abstract class to represent a period of date and time.
A class to represent date duration.
An abstract class to represent an instant of date and time.
A base class for date data types.