fire v0.19.0
Framework for sImulation and Reconstruction of Events
ClassVersion.h File Reference

Serialization class version deduction. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fire::io::class_version_impl::enable_if_type< T, R >
 Check if the passed type T is a valid type at compile time. More...
 
struct  fire::io::class_version_impl::deducer< T, Enable >
 Underlying struct deducing the version of a class. More...
 
struct  fire::io::class_version_impl::deducer< T, typename enable_if_type< typename T::version >::type >
 Underlying struct deducing the version of a class. More...
 

Namespaces

namespace  fire::io
 Geant4 does a GLOBAL definition of the keyword TRUE.
 
namespace  fire::io::class_version_impl
 hide the SFINAE confusing nonsense from the rest of the world
 

Macros

#define fire_class_version(VERS)   using version = std::integral_constant<int,VERS>
 define the version number for a class More...
 

Variables

template<typename T >
constexpr int fire::io::class_version = class_version_impl::deducer<T>::version::value
 Helper const expression to pull out class version number. More...
 

Detailed Description

Serialization class version deduction.

Macro Definition Documentation

◆ fire_class_version

#define fire_class_version (   VERS)    using version = std::integral_constant<int,VERS>

define the version number for a class

Put this macro within the class declaration in order to define its version number as a class used for data serialization in fire. Without this macro, the version will default to zero.