Bayeux  3.4.1
Core Foundation library for SuperNEMO
Classes | Namespaces | Macros
i_cut.h File Reference
#include <ostream>
#include <string>
#include <typeinfo>
#include <set>
#include <boost/cstdlib.hpp>
#include <boost/shared_ptr.hpp>
#include <datatools/i_tree_dump.h>
#include <datatools/factory_macros.h>
#include <datatools/bit_mask.h>
#include <datatools/logger.h>
#include <cuts/cut_tools.h>

Go to the source code of this file.

Classes

class  cuts::i_cut
 The cut abstract base class (interface) More...
 
struct  cuts::i_cut::i_referenced_data
 An abstract class for daughter templatized data wrapper classes. More...
 
struct  cuts::i_cut::referenced_data< T >
 A weak reference to an arbitrary object with tracked type_info More...
 

Namespaces

 datatools
 The Bayeux/datatools library top-level namespace.
 
 cuts
 Top-level namespace of the Bayeux/cuts module library.
 

Macros

#define CUT_REGISTRATION_INTERFACE(T)
 
#define CUT_REGISTRATION_IMPLEMENT(T, CutID)
 

Macro Definition Documentation

◆ CUT_REGISTRATION_IMPLEMENT

#define CUT_REGISTRATION_IMPLEMENT (   T,
  CutID 
)
Value:
std::string T::get_type_id() const { return CutID; } \
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION(::cuts::i_cut, T, CutID) \
The cut abstract base class (interface)
Definition: i_cut.h:62

Implementation macro for automated registration of a cut class in the global register

◆ CUT_REGISTRATION_INTERFACE

#define CUT_REGISTRATION_INTERFACE (   T)
Value:
public: \
virtual std::string get_type_id() const; \
private: \
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE(::cuts::i_cut, T) \
The cut abstract base class (interface)
Definition: i_cut.h:62

Interface macro for automated registration of a cut class in the global register