Bayeux
3.4.1
Core Foundation library for SuperNEMO
Main Page
Related Pages
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
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
k
l
m
n
o
p
q
r
s
t
u
v
x
y
z
Variables
+
Typedefs
a
b
c
d
e
f
g
h
i
m
o
p
r
s
u
v
w
+
Enumerations
a
b
c
d
e
g
m
n
o
p
r
s
u
v
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
x
y
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
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
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
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Enumerations
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Enumerator
_
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
Properties
+
Related Functions
b
c
h
i
m
o
p
s
v
+
Files
File List
+
File Members
+
All
_
b
c
d
e
g
m
Functions
+
Macros
_
b
c
d
e
g
m
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
bayeux
datatools
handle_macros.h
Go to the documentation of this file.
1
/* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3
* Creation date : 2012-03-20
4
* Last modified : 2013-04-23
5
*/
6
7
#ifndef DATATOOLS_HANDLE_MACROS_H
8
#define DATATOOLS_HANDLE_MACROS_H
9
10
// Standard Library:
11
#include <stdexcept>
12
#include <sstream>
13
14
// Third Party:
15
// - Boost:
16
#include <boost/preprocessor/stringize.hpp>
17
18
// This Project:
19
#include <
datatools/handle.h
>
20
21
// Macros:
22
23
#define DATATOOLS_HANDLE_DECLARE(HandleVar,Type) \
24
::datatools::handle<Type> HandleVar; \
25
\
26
27
28
#define DATATOOLS_HANDLE_DECLARE_NEW(HandleVar,Type) \
29
::datatools::handle<Type> HandleVar(new Type); \
30
\
31
32
33
#define DATATOOLS_HANDLE_GET_REF(RefVar,HandleVar,Type) \
34
DT_THROW_IF (! HandleVar, \
35
std::logic_error, \
36
"Handle '" << BOOST_PP_STRINGIZE(HandleVar) << "' has no data !"); \
37
const Type& RefVar = HandleVar.get();
38
39
40
#define DATATOOLS_HANDLE_GRAB_REF(RefVar,HandleVar,Type) \
41
DT_THROW_IF (! HandleVar, \
42
std::logic_error, \
43
"Handle '" << BOOST_PP_STRINGIZE(HandleVar) << "' has no data !"); \
44
Type& RefVar = HandleVar.grab();
45
46
47
#endif // DATATOOLS_HANDLE_MACROS_H
48
49
// Local Variables: --
50
// mode: c++ --
51
// c-file-style: "gnu" --
52
// tab-width: 2 --
53
// End: --
handle.h
Generated by
1.8.15