Empirical
Public Types | Public Member Functions | Public Attributes | List of all members
emp::TypeTracker_Class< REAL_T, ID > Struct Template Reference

#include <TypeTracker.h>

Inheritance diagram for emp::TypeTracker_Class< REAL_T, ID >:
emp::TrackedType

Public Types

using real_t = REAL_T
 

Public Member Functions

 TypeTracker_Class (const REAL_T &in)
 
 TypeTracker_Class (REAL_T &&in)
 
 TypeTracker_Class (const TypeTracker_Class &)=default
 
 TypeTracker_Class (TypeTracker_Class &&)=default
 
TypeTracker_Classoperator= (const TypeTracker_Class &)=default
 
TypeTracker_Classoperator= (TypeTracker_Class &&)=default
 
virtual size_t GetTypeTrackerID () const noexcept
 

Public Attributes

REAL_T value
 

Detailed Description

template<typename REAL_T, size_t ID>
struct emp::TypeTracker_Class< REAL_T, ID >

The derived classes to be tracked should inherit from TypeTracker_Class<ID> where ID is the position in the type list for TypeTracker. Note: this value can be obtained dyanmically at compile type by using TypeTracker<...>::GetID<TYPE>()

Member Typedef Documentation

template<typename REAL_T , size_t ID>
using emp::TypeTracker_Class< REAL_T, ID >::real_t = REAL_T

Constructor & Destructor Documentation

template<typename REAL_T , size_t ID>
emp::TypeTracker_Class< REAL_T, ID >::TypeTracker_Class ( const REAL_T &  in)
inline
template<typename REAL_T , size_t ID>
emp::TypeTracker_Class< REAL_T, ID >::TypeTracker_Class ( REAL_T &&  in)
inline
template<typename REAL_T , size_t ID>
emp::TypeTracker_Class< REAL_T, ID >::TypeTracker_Class ( const TypeTracker_Class< REAL_T, ID > &  )
default
template<typename REAL_T , size_t ID>
emp::TypeTracker_Class< REAL_T, ID >::TypeTracker_Class ( TypeTracker_Class< REAL_T, ID > &&  )
default

Member Function Documentation

template<typename REAL_T , size_t ID>
virtual size_t emp::TypeTracker_Class< REAL_T, ID >::GetTypeTrackerID ( ) const
inlinevirtualnoexcept

Implements emp::TrackedType.

template<typename REAL_T , size_t ID>
TypeTracker_Class& emp::TypeTracker_Class< REAL_T, ID >::operator= ( const TypeTracker_Class< REAL_T, ID > &  )
default
template<typename REAL_T , size_t ID>
TypeTracker_Class& emp::TypeTracker_Class< REAL_T, ID >::operator= ( TypeTracker_Class< REAL_T, ID > &&  )
default

Member Data Documentation

template<typename REAL_T , size_t ID>
REAL_T emp::TypeTracker_Class< REAL_T, ID >::value

The documentation for this struct was generated from the following file: