FlightGear
next
functor.hxx
Go to the documentation of this file.
1
// functor.hxx - a utility to create object based on names
2
//
3
// Written by Torsten Dreyer
4
//
5
// Copyright (C) 2010 Torsten Dreyer - Torsten (at) t3r (dot) de
6
//
7
// This program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public License as
9
// published by the Free Software Foundation; either version 2 of the
10
// License, or (at your option) any later version.
11
//
12
// This program is distributed in the hope that it will be useful, but
13
// WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
//
21
#ifndef __FUNCTOR_HXX
22
#define __FUNCTOR_HXX 1
23
24
#ifdef HAVE_CONFIG_H
25
# include <config.h>
26
#endif
27
28
#include <simgear/props/props.hxx>
29
30
namespace
FGXMLAutopilot
{
31
32
template
<
class
TBase>
class
FunctorBase
{
33
public
:
34
virtual
~FunctorBase
() {}
35
virtual
TBase *
operator()
( SGPropertyNode& prop_root,
36
SGPropertyNode& cfg ) = 0;
37
};
38
39
template
<
class
TClass,
class
TBase>
class
CreateAndConfigureFunctor
:
40
public
FunctorBase
<TBase> {
41
public
:
42
virtual
TBase *
operator()
( SGPropertyNode& prop_root,
43
SGPropertyNode& cfg )
44
{
45
TBase * base =
new
TClass();
46
base->configure(prop_root, cfg);
47
return
base;
48
}
49
};
50
51
}
52
53
#endif
// __FUNCTOR_HXX 1
FGXMLAutopilot::CreateAndConfigureFunctor
Definition
functor.hxx:40
FGXMLAutopilot::CreateAndConfigureFunctor::operator()
virtual TBase * operator()(SGPropertyNode &prop_root, SGPropertyNode &cfg)
Definition
functor.hxx:42
FGXMLAutopilot::FunctorBase
Definition
functor.hxx:32
FGXMLAutopilot::FunctorBase::~FunctorBase
virtual ~FunctorBase()
Definition
functor.hxx:34
FGXMLAutopilot::FunctorBase::operator()
virtual TBase * operator()(SGPropertyNode &prop_root, SGPropertyNode &cfg)=0
FGXMLAutopilot
Definition
analogcomponent.hxx:29
src
Autopilot
functor.hxx
Generated on Tue Jun 3 2025 12:58:37 for FlightGear by
1.13.2