Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Namespaces | Functions
ptr_tuple.hpp File Reference
#include <compare>
#include <ext/ostream>
#include <extensions/iterator.hpp>
#include <extensions/clone.hpp>
#include <extensions/common/tuple_common.hpp>
Include dependency graph for ptr_tuple.hpp:

Go to the source code of this file.

Data Structures

class  ext::ptr_tuple< Types >
 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...
 
struct  std::tuple_size< ext::ptr_tuple< Types ... > >
 Specialisation of tuple_size for extended tuple. More...
 
struct  std::tuple_element< I, ext::ptr_tuple< Types... > >
 Specialisation of tuple_element for extended tuple. More...
 

Namespaces

namespace  ext
 
namespace  std
 

Functions

template<class... Ts>
ext::ostreamext::operator<< (ext::ostream &out, const ext::ptr_tuple< Ts... > &tuple)
 Operator to print the tuple to the output stream. More...
 
template<std::size_t I, class ... Types>
const auto & std::get (ext::ptr_tuple< Types ... > &tpl)
 Specialisation of get function for pointer tuple. More...
 
template<std::size_t I, class ... Types>
const auto & std::get (const ext::ptr_tuple< Types ... > &tpl)
 Specialisation of get function for pointer tuple. More...
 
template<std::size_t I, class ... Types>
auto && std::get (ext::ptr_tuple< Types ... > &&tpl)
 Specialisation of get function for pointer tuple. More...
 
template<typename... Elements>
constexpr auto ext::make_ptr_tuple (Elements &&... args)
 Helper of pointer tuple construction. The tuple is constructed from values pack, types are deduced. More...