idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
idol::Versions< T > Class Template Reference

#include <Versions.h>

Collaboration diagram for idol::Versions< T >:
Collaboration graph

Public Member Functions

template<class ... ArgsT>
 Versions (ArgsT &&...t_args)
 
 Versions (const Versions &)=delete
 
 Versions (Versions &&) noexcept=delete
 
Versionsoperator= (const Versions &)=delete
 
Versionsoperator= (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)
 

Detailed 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.

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.

Member Function 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

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

Definition at line 75 of file Versions.h.

◆ has()

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

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.