CAF 0.17.6
Loading...
Searching...
No Matches
caf::cow_tuple< Ts > Class Template Reference

A copy-on-write tuple implementation. More...

#include <cow_tuple.hpp>

Inheritance diagram for caf::cow_tuple< Ts >:
caf::detail::comparable< cow_tuple< Ts... > > caf::detail::comparable< cow_tuple< Ts... >, std::tuple< Ts... > >

Public Types

using impl = detail::tuple_vals<Ts...>
using data_type = std::tuple<Ts...>

Public Member Functions

 cow_tuple (Ts... xs)
 cow_tuple (cow_tuple &&)=default
 cow_tuple (const cow_tuple &)=default
cow_tuple & operator= (cow_tuple &&)=default
cow_tuple & operator= (const cow_tuple &)=default
const data_type & data () const noexcept
 Returns the managed tuple.
data_type & unshared ()
 Returns a mutable reference to the managed tuple, guaranteed to have a reference count of 1.
bool unique () const noexcept
 Returns whether the reference count of the managed object is 1.
template<class... Us>
int compare (const std::tuple< Us... > &other) const noexcept
template<class... Us>
int compare (const cow_tuple< Us... > &other) const noexcept

(Note that these are not member symbols.)

template<class Inspector, class... Ts>
std::enable_if< Inspector::reads_state, typenameInspector::result_type >::type inspect (Inspector &f, const cow_tuple< Ts... > &x)
template<class Inspector, class... Ts>
std::enable_if< Inspector::writes_state, typenameInspector::result_type >::type inspect (Inspector &f, cow_tuple< Ts... > &x)
template<class... Ts>
cow_tuple< typename std::decay< Ts >::type... > make_cow_tuple (Ts &&... xs)
 Creates a new copy-on-write tuple from given arguments.
template<size_t N, class... Ts>
auto get (const cow_tuple< Ts... > &xs) -> decltype(std::get< N >(xs.data()))
 Convenience function for calling get<N>(xs.data()).

Detailed Description

template<class... Ts>
class caf::cow_tuple< Ts >

A copy-on-write tuple implementation.


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