Loading...
Searching...
No Matches
AbstractParameters.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 Lesser 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 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser 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/common/AbstractParameters.h
22
23 \brief Abstract parameters base interface.
24*/
25
26#ifndef __TERRALIB_COMMON_INTERNAL_ABSTRACTPARAMETERS_H
27#define __TERRALIB_COMMON_INTERNAL_ABSTRACTPARAMETERS_H
28
29// TerraLib
30
32
33#include "Config.h"
34#include "Exception.h"
35
36namespace te
37{
38 namespace common
39 {
40 /*!
41 \class AbstractParameters
42
43 \brief Abstract parameters base interface.
44 */
46 {
47 public:
48
49 /*! \brief Constructor. */
51
52 /*! \brief Virtual destructor. */
54
55 /*! \brief Clear all internal allocated resources and reset the parameters instance to its initial state. */
56 virtual void reset() _NOEXCEPT_OP(false) = 0;
57
58 /*!
59 \brief Create a clone copy of this instance.
60
61 \return A clone copy of this instance.
62
63 \note The caller will take the ownership of the returned pointer.
64 */
65 virtual AbstractParameters* clone() const = 0;
66 };
67
68 } // end namespace common
69} // end namespace te
70
71#endif // __TERRALIB_COMMON_INTERNAL_ABSTRACTPARAMETERS_H
72
Definitions required by VS version lesser then 2015 to work using noexcept reserved work.
#define _NOEXCEPT_OP(x)
virtual AbstractParameters * clone() const =0
Create a clone copy of this instance.
virtual ~AbstractParameters()
Virtual destructor.
virtual void reset() _NOEXCEPT_OP(false)=0
Clear all internal allocated resources and reset the parameters instance to its initial state.
This class is designed to declare objects to be thrown as exceptions by TerraLib.
Namespace for the Common module of TerraLib.
Definition common.h:88
TerraLib.
Configuration flags for the TerraLib Common Runtime module.
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition Config.h:66