Loading...
Searching...
No Matches
idol::Versions< T > Class Template Reference

#include <Versions.h>

Description

template<class T>
class idol::Versions< T >

This class is used to store the different versions associated to a given object (e.g., a variable).

Template Parameters
Tthe class representing an object's version

Definition at line 27 of file Versions.h.

Public Methods

template<class ... ArgsT>
 Versions (ArgsT &&...t_args)
 Versions (const Versions &)=delete
 Versions (Versions &&) noexcept=delete
Versions & operator= (const Versions &)=delete
Versions & operator= (Versions &&) noexcept=delete
template<class ... ArgsT>
void create (const Model &t_model, unsigned int t_index, ArgsT &&...t_args)
void remove (const Model &t_model)
bool has (const Model &t_model) const
const T & get (const Model &t_model) const
T & get (const Model &t_model)
const T & get_default () const
T & get_default ()
template<class ValueT>
const ValueT * get_annotation (unsigned int t_index) const
template<class ValueT, class ... ArgsT>
void set_annotation (unsigned int t_index, ArgsT &&...t_args)

Constructor & Destructor Documentation

◆ Versions()

template<class T>
template<class ... ArgsT>
idol::Versions< T >::Versions ( ArgsT &&... t_args)
inlineexplicit

Definition at line 33 of file Versions.h.

Methods Documentation

◆ create()

template<class T>
template<class ... ArgsT>
void idol::Versions< T >::create ( const Model & t_model,
unsigned int t_index,
ArgsT &&... t_args )

Definition at line 86 of file Versions.h.

◆ get() [1/2]

template<class T>
T & idol::Versions< T >::get ( const Model & t_model)

Definition at line 109 of file Versions.h.

◆ get() [2/2]

template<class T>
const T & idol::Versions< T >::get ( const Model & t_model) const
nodiscard

Definition at line 100 of file Versions.h.

◆ get_annotation()

template<class T>
template<class ValueT>
const ValueT * idol::Versions< T >::get_annotation ( unsigned int t_index) const

Definition at line 67 of file Versions.h.

◆ get_default() [1/2]

template<class T>
T & idol::Versions< T >::get_default ( )

Definition at line 80 of file Versions.h.

◆ get_default() [2/2]

template<class T>
const T & idol::Versions< T >::get_default ( ) const
nodiscard

Definition at line 75 of file Versions.h.

◆ has()

template<class T>
bool idol::Versions< T >::has ( const Model & t_model) const
nodiscard

Definition at line 124 of file Versions.h.

◆ remove()

template<class T>
void idol::Versions< T >::remove ( const Model & t_model)

Definition at line 118 of file Versions.h.

◆ set_annotation()

template<class T>
template<class ValueT, class ... ArgsT>
void idol::Versions< T >::set_annotation ( unsigned int t_index,
ArgsT &&... t_args )
inline

Definition at line 57 of file Versions.h.