|
|
template<class... Ts> |
| | type_erased_value_impl (Ts &&... xs) |
| |
|
template<class U , size_t N, class = typename std::enable_if<std::is_same<T, U[N]>::value>::type> |
| | type_erased_value_impl (const U(&ys)[N]) |
| |
|
template<class U , size_t N, class = typename std::enable_if<std::is_same<T, U[N]>::value>::type> |
| | type_erased_value_impl (const U(&&ys)[N]) |
| |
|
| type_erased_value_impl (type_erased_value_impl &&other) |
| |
|
| type_erased_value_impl (const type_erased_value_impl &other) |
| |
| void * | get_mutable () override |
| | Returns a mutable pointer to the stored value. More...
|
| |
| error | load (deserializer &source) override |
| | Load the content for the stored value from source. More...
|
| |
| rtti_pair | type () const override |
| | Returns the type number and type information object for the stored value. More...
|
| |
| const void * | get () const override |
| | Returns a pointer to the stored value. More...
|
| |
| error | save (serializer &sink) const override |
| | Saves the content of the stored value to sink. More...
|
| |
| std::string | stringify () const override |
| | Converts the stored value to a string. More...
|
| |
| type_erased_value_ptr | copy () const override |
| | Returns a copy of the stored value. More...
|
| |
|
| operator value_type & () |
| |
|
| operator const value_type & () const |
| |
| virtual void * | get_mutable ()=0 |
| | Returns a mutable pointer to the stored value. More...
|
| |
| virtual error | load (deserializer &source)=0 |
| | Load the content for the stored value from source. More...
|
| |
| virtual rtti_pair | type () const =0 |
| | Returns the type number and type information object for the stored value. More...
|
| |
| virtual const void * | get () const =0 |
| | Returns a pointer to the stored value. More...
|
| |
| virtual error | save (serializer &sink) const =0 |
| | Saves the content of the stored value to sink. More...
|
| |
| virtual std::string | stringify () const =0 |
| | Converts the stored value to a string. More...
|
| |
| virtual type_erased_value_ptr | copy () const =0 |
| | Returns a copy of the stored value. More...
|
| |
|
bool | matches (uint16_t nr, const std::type_info *ptr) const |
| | Checks whether the type of the stored value matches the type nr and type info object.
|
| |
|
uint16_t | type_nr () const |
| | Returns the type number for the stored value.
|
| |
|
bool | matches (const rtti_pair &rtti) const |
| | Checks whether the type of the stored value matches rtti.
|
| |
|
template<class T > |
| const T & | get_as () const |
| | Convenience function for reinterpret_cast<const T*>(get()).
|
| |
|
template<class T > |
| T & | get_mutable_as () |
| | Convenience function for reinterpret_cast<T*>(get_mutable()).
|
| |
template<class T>
class caf::detail::type_erased_value_impl< T >
Default implementation for single type-erased values.