Bayeux
3.4.1
Core Foundation library for SuperNEMO
bayeux
genvtx
vg_macros.h
Go to the documentation of this file.
1
/* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
4
* Creation date : 2012-04-24
5
* Last modified : 2014-04-09
6
*
7
* Copyright (C) 2012-2014 Francois Mauger <mauger@lpccaen.in2p3.fr>
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 3 of the License, or (at
12
* your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful, but
15
* WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
* Boston, MA 02110-1301, USA.
23
*
24
* Description:
25
*
26
* Macros to register vertex generator classes.
27
*
28
* History:
29
*
30
*/
31
32
#ifndef GENVTX_VG_MACROS_H
33
#define GENVTX_VG_MACROS_H 1
34
35
// Third party:
36
// - Boost:
37
#include <boost/type_traits/integral_constant.hpp>
38
39
// This project:
40
#include <
genvtx/i_vertex_generator.h
>
41
42
/*** Macros for registration of static creator methods for vertex generator classes ***/
43
46
#define GENVTX_VG_REGISTRATION_INTERFACE(GENVTX_CLASS_NAME) \
47
private: \
48
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE (::genvtx::i_vertex_generator,GENVTX_CLASS_NAME) \
49
50
51
#define GENVTX_VG_REGISTRATION_IMPLEMENT(GENVTX_CLASS_NAME,GENVTX_ID) \
52
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION (::genvtx::i_vertex_generator,GENVTX_CLASS_NAME,GENVTX_ID) \
53
54
55
#define GENVTX_VG_VALIDATOR_SUPPORT(GENVTX_CLASS_NAME) \
56
struct ::genvtx::vertex_generator_validator_support_traits< GENVTX_CLASS_NAME > : public boost::true_type{}; \
57
58
59
#endif // GENVTX_VG_MACROS_H
60
61
/*
62
** Local Variables: --
63
** mode: c++ --
64
** c-file-style: "gnu" --
65
** tab-width: 2 --
66
** End: --
67
*/
i_vertex_generator.h
Generated by
1.8.15