Eclipse SUMO - Simulation of Urban MObility
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
Functions
a
c
e
f
g
h
i
j
l
n
o
r
s
t
u
Variables
a
c
d
f
g
i
j
k
l
m
o
p
r
s
t
v
Typedefs
b
c
d
e
f
g
i
j
k
m
n
o
p
r
s
t
u
v
Enumerations
Enumerator
a
c
d
f
m
p
s
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
r
s
t
v
w
Enumerations
a
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
v
w
Enumerator
a
b
c
d
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Properties
a
c
d
e
f
g
h
m
n
p
r
s
t
u
v
y
Related Symbols
:
a
b
d
f
g
i
m
n
o
p
r
s
w
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
v
w
Variables
a
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
x
y
z
Typedefs
a
c
e
f
g
i
l
m
n
p
r
s
Enumerations
a
c
d
e
f
g
i
j
k
l
m
n
o
p
r
s
t
v
x
Enumerator
a
b
d
f
g
i
k
l
m
p
r
s
t
v
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
CastingFunctionBinding_Param.h
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
4
// This program and the accompanying materials are made available under the
5
// terms of the Eclipse Public License 2.0 which is available at
6
// https://www.eclipse.org/legal/epl-2.0/
7
// This Source Code may also be made available under the following Secondary
8
// Licenses when the conditions for such availability set forth in the Eclipse
9
// Public License 2.0 are satisfied: GNU General Public License, version 2
10
// or later which is available at
11
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
/****************************************************************************/
20
// Function type template
21
/****************************************************************************/
22
#pragma once
23
#include <config.h>
24
25
#include <
utils/common/ValueSource.h
>
26
27
28
// ===========================================================================
29
// class definitions
30
// ===========================================================================
34
template
<
class
T,
typename
R,
typename
O,
typename
P >
35
class
CastingFunctionBinding_Param
:
public
ValueSource
<R> {
36
public
:
38
typedef
O(T::*
Operation
)(P) const;
39
40
CastingFunctionBinding_Param
(T* source,
Operation
operation, P param,
const
R scale = 1.0) :
41
mySource
(source),
42
myOperation
(operation),
43
myScale
(scale),
44
myParam
(param)
45
{}
40
CastingFunctionBinding_Param
(T* source,
Operation
operation, P param,
const
R scale = 1.0) : {
…
}
46
48
~CastingFunctionBinding_Param
() {}
49
50
R
getValue
()
const
{
51
return
myScale
* (R)(
mySource
->*
myOperation
)(
myParam
);
52
}
50
R
getValue
()
const
{
…
}
53
54
ValueSource<R>
*
copy
()
const
{
55
return
new
CastingFunctionBinding_Param<T, R, O, P>
(
mySource
,
myOperation
,
myParam
,
myScale
);
56
}
54
ValueSource<R>
*
copy
()
const
{
…
}
57
58
ValueSource<double>
*
makedoubleReturningCopy
()
const
{
59
return
new
CastingFunctionBinding_Param<T, double, O, P>
(
mySource
,
myOperation
,
myParam
,
myScale
);
60
}
58
ValueSource<double>
*
makedoubleReturningCopy
()
const
{
…
}
61
62
private
:
64
T*
mySource
;
65
67
Operation
myOperation
;
68
70
const
R
myScale
;
71
73
const
P
myParam
;
74
75
private
:
77
CastingFunctionBinding_Param<T, R, O, P>
&
operator=
(
const
CastingFunctionBinding_Param<T, R, O, P>
&);
78
79
};
35
class
CastingFunctionBinding_Param
:
public
ValueSource
<R> {
…
};
ValueSource.h
CastingFunctionBinding_Param
Definition
CastingFunctionBinding_Param.h:35
CastingFunctionBinding_Param::makedoubleReturningCopy
ValueSource< double > * makedoubleReturningCopy() const
Definition
CastingFunctionBinding_Param.h:58
CastingFunctionBinding_Param::myScale
const R myScale
The scale to apply.
Definition
CastingFunctionBinding_Param.h:70
CastingFunctionBinding_Param::copy
ValueSource< R > * copy() const
Definition
CastingFunctionBinding_Param.h:54
CastingFunctionBinding_Param::operator=
CastingFunctionBinding_Param< T, R, O, P > & operator=(const CastingFunctionBinding_Param< T, R, O, P > &)
invalidated assignment operator
CastingFunctionBinding_Param::Operation
O(T::* Operation)(P) const
Type of the function to execute.
Definition
CastingFunctionBinding_Param.h:38
CastingFunctionBinding_Param::myParam
const P myParam
The parameter to apply to the operation.
Definition
CastingFunctionBinding_Param.h:73
CastingFunctionBinding_Param::myOperation
Operation myOperation
The object's operation to perform.
Definition
CastingFunctionBinding_Param.h:67
CastingFunctionBinding_Param::mySource
T * mySource
The object the action is directed to.
Definition
CastingFunctionBinding_Param.h:64
CastingFunctionBinding_Param::getValue
R getValue() const
Definition
CastingFunctionBinding_Param.h:50
CastingFunctionBinding_Param::~CastingFunctionBinding_Param
~CastingFunctionBinding_Param()
Destructor.
Definition
CastingFunctionBinding_Param.h:48
CastingFunctionBinding_Param::CastingFunctionBinding_Param
CastingFunctionBinding_Param(T *source, Operation operation, P param, const R scale=1.0)
Definition
CastingFunctionBinding_Param.h:40
ValueSource
Definition
ValueSource.h:29
src
microsim
logging
CastingFunctionBinding_Param.h
Generated on Wed Jun 4 2025 00:17:03 for Eclipse SUMO - Simulation of Urban MObility by
1.9.8