Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Implementation of tuple storing dynamicaly allocated instances of given type. The class mimicks the iterface of the standard library tuple, but effectively allows polymorphic objects to be stored inside. More...
#include <ptr_tuple.hpp>
Public Member Functions | |
ptr_tuple (const ptr_tuple &tpl) | |
The copy constructor of the pointer tuple. More... | |
ptr_tuple (ptr_tuple &&tpl) | |
The move constructor of the pointer tuple. More... | |
template<class ... UTypes> | |
ptr_tuple (UTypes &&... elems) | |
Tuple constructor from pack of source values. More... | |
~ptr_tuple () | |
The pointer tuple destructor. More... | |
ptr_tuple< Types ... > & | operator= (const ptr_tuple< Types ... > &other) |
The pointer tuple copy operator of assignemnt. More... | |
ptr_tuple< Types ... > & | operator= (ptr_tuple< Types ... > &&other) |
The pointer tuple move operator of assignemnt. More... | |
void | swap (ptr_tuple &other) |
Swaps two instances of pointer tuple. More... | |
template<std::size_t I> | |
auto & | get () & |
Access method to inside the pointer tuple. More... | |
template<std::size_t I> | |
const auto & | get () const & |
Access method to inside the pointer tuple. More... | |
template<std::size_t I> | |
auto && | get () && |
Access method to inside the pointer tuple. More... | |
template<class R , std::size_t I> | |
void | set (R &&value) |
Setter method of a value inside the pointer tuple. More... | |
bool | operator== (const ext::ptr_tuple< Types ... > &second) const |
Specialisation of the compare structure implementing the three-way comparison. More... | |
auto | operator<=> (const ext::ptr_tuple< Types ... > &second) const |
Specialisation of the compare structure implementing the three-way comparison. More... | |
Implementation of tuple storing dynamicaly allocated instances of given type. The class mimicks the iterface of the standard library tuple, but effectively allows polymorphic objects to be stored inside.
Types | ... the types inside the tuple |
|
inline |
The copy constructor of the pointer tuple.
tpl | the source tuple |
|
inline |
The move constructor of the pointer tuple.
tpl | the source tuple |
|
inlineexplicit |
Tuple constructor from pack of source values.
UTypes | ... pack of types of source values |
elems | ... pack of source values |
|
inline |
The pointer tuple destructor.
Access method to inside the pointer tuple.
I | the index to retrieve |
|
inline |
Access method to inside the pointer tuple.
I | the index to retrieve |
|
inline |
Access method to inside the pointer tuple.
I | the index to retrieve |
|
inline |
Specialisation of the compare structure implementing the three-way comparison.
|
inline |
The pointer tuple copy operator of assignemnt.
other | the source value |
|
inline |
The pointer tuple move operator of assignemnt.
other | the source value |
|
inline |
Specialisation of the compare structure implementing the three-way comparison.
|
inline |
Setter method of a value inside the pointer tuple.
R | the actual type of value to store |
I | the index to retrieve |
|
inline |
Swaps two instances of pointer tuple.
x | the other instance to swap with |