All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
common.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2009 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 common.h
22 
23  \brief This file contains include headers for the TerraLib Common Runtime module.
24  */
25 
26 #ifndef __TERRALIB_INTERNAL_COMMON_H
27 #define __TERRALIB_INTERNAL_COMMON_H
28 
29 // TerraLib
30 #include "common/AbstractFactory.h"
31 #include "common/BaseVisitable.h"
32 #include "common/BaseVisitor.h"
33 #include "common/BoostUtils.h"
34 #include "common/ByteSwapUtils.h"
35 #include "common/Comparators.h"
36 #include "common/Config.h"
37 #include "common/Distance.h"
38 #include "common/Enums.h"
39 #include "common/Exception.h"
41 #include "common/Globals.h"
42 #include "common/HexUtils.h"
43 #include "common/LoggedException.h"
44 #include "common/Logger.h"
45 #include "common/Module.h"
47 #include "common/Singleton.h"
48 #include "common/STLUtils.h"
49 #include "common/StringUtils.h"
50 #include "common/TerraLib.h"
52 #include "common/Translator.h"
53 #include "common/TreeItem.h"
54 #include "common/UnitOfMeasure.h"
56 #include "common/Visitor.h"
57 
58 /*!
59  \defgroup common Common
60 
61  \brief The common module contains the foundation classes and functions for all TerraLib modules.
62 
63  The TerraLib Common Module contains the foundation classes and functions that makes the basic support for other TerraLib modules.
64  It provides portable and cross platform code not focus exclusively in the geo-spatial domain.
65  On the contrary, the helper classes, utilitary functions, generic class templates and generic design pattern classes
66  are domain application neutral and can be used by any application.
67 
68  The TerraLib modules has made use of Boost libraries but some functionalities are not found in Boost, so the common runtime module fills this gap
69  and add some low-level code used by TerraLib applications. You will find in this module classes for: abstract factories, singletons, visitors, support for i18n,
70  message logging, shared library management, threading policies and much more.
71 
72  Besides the classes you will find useful routines for: byte swap, hex-encoding/decoding, platform specific routines, auxiliary functions for STL containers.
73 
74  The main classes/concepts in this module are listed here. The namespace associated to the Common module is te::common.
75  To know more about it, see the te::common namespace documentation.
76 */
77 
78 namespace te
79 {
80  /*!
81  \brief Namespace for the Common module of TerraLib.
82  */
83  namespace common
84  {
85  } // end namespace common
86 } // end namesp
87 
88 #endif // __TERRALIB_INTERNAL_COMMON_H
89 
Utility functions for dealing with strings.
This file contains several utility functions for dealing with STL containers.
A given distance has a measurement and a unit-of-measure.
The root of all hierarchies that can be visited.
Several functor types for comparing objects.
A class that automatically logs the exception message.
A class for representing a unit of measure.
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
A base class for data organized as a tree.
This file contains several utilities functions for dealing with HEX strings.
An static class with global definitions.
A class that defines the interface of an abstract factory.
General enumerations.
Utility functions to swap bytes: double, int and unsigned int.
A generic class for visitors.
Threading policies that can be applied to TerraLib classes that need some synchronization schema...
This class is designed to manage the log of information in TerraLib.
This singleton defines an entry in the Platform for the TerraLib Common Runtime module.
A dictionary for a Factory.
Template support for singleton pattern.
A singleton class for dealing with units-of-measure.
A class that defines the basic interface of an abstract factory that makes use of parameters to const...
This file contains several utility functions for dealing with Boost containers and algorithms...
Configuration flags for the TerraLib Common Runtime module.
A general root class for a visitor hierarchy.
An utility class to control the startup and cleanup of the TerraLib Platform and its resources...
This class is designed for dealing with multi-language text translation in TerraLib.