CAF 0.17.6
|
Dummy objects representing empty tuples. More...
#include <type_erased_tuple.hpp>
Public Member Functions | |
void * | get_mutable (size_t pos) override |
Returns a mutable pointer to the element at position pos . More... | |
error | load (size_t pos, deserializer &source) override |
Load the content for the element at position pos from source . More... | |
size_t | size () const noexcept override |
Returns the size of this tuple. More... | |
uint32_t | type_token () const noexcept override |
Returns a type hint for the element types. More... | |
rtti_pair | type (size_t pos) const noexcept override |
Returns the type number and std::type_info object for the element at position pos . More... | |
const void * | get (size_t pos) const noexcept override |
Returns the element at position pos . More... | |
std::string | stringify (size_t pos) const override |
Returns a string representation of the element at position pos . More... | |
type_erased_value_ptr | copy (size_t pos) const override |
Returns a copy of the element at position pos . More... | |
error | save (size_t pos, serializer &sink) const override |
Saves the element at position pos to sink . More... | |
![]() | |
type_erased_tuple (const type_erased_tuple &)=default | |
type_erased_tuple & | operator= (const type_erased_tuple &)=default |
virtual void * | get_mutable (size_t pos)=0 |
Returns a mutable pointer to the element at position pos . More... | |
virtual error | load (size_t pos, deserializer &source)=0 |
Load the content for the element at position pos from source . More... | |
virtual error | load (deserializer &source) |
Load the content for the tuple from source . More... | |
virtual size_t | size () const noexcept=0 |
Returns the size of this tuple. More... | |
virtual uint32_t | type_token () const noexcept=0 |
Returns a type hint for the element types. More... | |
virtual rtti_pair | type (size_t pos) const noexcept=0 |
Returns the type number and std::type_info object for the element at position pos . More... | |
virtual const void * | get (size_t pos) const noexcept=0 |
Returns the element at position pos . More... | |
virtual std::string | stringify (size_t pos) const =0 |
Returns a string representation of the element at position pos . More... | |
virtual type_erased_value_ptr | copy (size_t pos) const =0 |
Returns a copy of the element at position pos . More... | |
virtual error | save (size_t pos, serializer &sink) const =0 |
Saves the element at position pos to sink . More... | |
virtual bool | shared () const noexcept |
Returns whether multiple references to this tuple exist. More... | |
bool | empty () const |
Returns size() == 0 . | |
std::string | stringify () const |
Returns a string representation of the tuple. | |
virtual error | save (serializer &sink) const |
Saves the content of the tuple to sink . More... | |
bool | matches (size_t pos, uint16_t nr, const std::type_info *ptr) const noexcept |
Checks whether the type of the stored value at position pos matches type number n and run-time type information p . | |
uint16_t | type_nr (size_t pos) const noexcept |
Returns the type number for the element at position pos . | |
bool | matches (size_t pos, const rtti_pair &rtti) const noexcept |
Checks whether the type of the stored value matches rtti . | |
template<class T > | |
const T & | get_as (size_t pos) const |
Convenience function for *reinterpret_cast<const T*>(get()) . | |
template<class T , size_t Pos> | |
const T & | get_as (typed_index< T, Pos >) const |
template<class... Ts, long... Is> | |
std::tuple< const Ts &... > | get_as_tuple (detail::type_list< Ts... >, detail::int_list< Is... >) const |
template<class... Ts> | |
std::tuple< const Ts &... > | get_as_tuple () const |
template<class T > | |
T & | get_mutable_as (size_t pos) |
Convenience function for *reinterpret_cast<T*>(get_mutable()) . | |
template<class T > | |
T | move_if_unshared (size_t pos) |
Convenience function for moving a value out of the tuple if it is unshared. More... | |
template<class T > | |
bool | match_element (size_t pos) const noexcept |
Returns true if the element at pos matches T . | |
template<class... Ts> | |
bool | match_elements () const noexcept |
Returns true if the pattern Ts... matches the content of this tuple. | |
template<class F > | |
auto | apply (F fun) -> optional< typename detail::get_callable_trait< F >::result_type > |
Additional Inherited Members | |
![]() | |
template<class T , size_t Pos> | |
static constexpr typed_index< T, Pos > | make_typed_index () |
![]() | |
template<class... Ts> | |
detail::type_erased_tuple_view< Ts... > | make_type_erased_tuple_view (Ts &... xs) |
template<class Processor > | |
std::enable_if< Processor::reads_state >::type | serialize (Processor &proc, type_erased_tuple &x) |
template<class Processor > | |
std::enable_if< Processor::writes_state >::type | serialize (Processor &proc, type_erased_tuple &x) |
std::string | to_string (const type_erased_tuple &x) |
Dummy objects representing empty tuples.
|
overridevirtual |
Returns a copy of the element at position pos
.
Implements caf::type_erased_tuple.
|
overridevirtualnoexcept |
Returns the element at position pos
.
Implements caf::type_erased_tuple.
|
overridevirtual |
Returns a mutable pointer to the element at position pos
.
Implements caf::type_erased_tuple.
|
overridevirtual |
Load the content for the element at position pos
from source
.
Implements caf::type_erased_tuple.
|
overridevirtual |
Saves the element at position pos
to sink
.
Implements caf::type_erased_tuple.
|
overridevirtualnoexcept |
Returns the size of this tuple.
Implements caf::type_erased_tuple.
|
overridevirtual |
Returns a string representation of the element at position pos
.
Implements caf::type_erased_tuple.
|
overridevirtualnoexcept |
Returns the type number and std::type_info
object for the element at position pos
.
Implements caf::type_erased_tuple.
|
overridevirtualnoexcept |
Returns a type hint for the element types.
Implements caf::type_erased_tuple.