Public Types | Public Member Functions | Protected Attributes | Friends
efl::eina::value_view Class Reference

Store generic value. More...

Public Types

typedef Eina_Valuenative_handle_type
 Get a handle for the wrapped Eina_Value. More...
 
typedef Eina_Value_Type const * type_info_t
 Type for a constant pointer to an Eina_Value_Type. More...
 

Public Member Functions

 value_view ()
 Default constructor. More...
 
template<typename T , typename Enable = typename std::enable_if<_eina_value_traits<T>::is_specialized::value>::type>
 value_view (T v)
 Create an generic value storage holding the given argument. More...
 
 value_view (char v)
 Create an generic value storage holding a char value. More...
 
 value_view (short v)
 Create an generic value storage holding a short value. More...
 
 value_view (int v)
 Create an generic value storage holding a int value. More...
 
 value_view (long v)
 Create an generic value storage holding a long value. More...
 
 value_view (unsigned char v)
 Create an generic value storage holding a unsigned char value. More...
 
 value_view (unsigned short v)
 Create an generic value storage holding a unsigned short value. More...
 
 value_view (unsigned int v)
 Create an generic value storage holding a unsigned int value. More...
 
 value_view (unsigned long v)
 Create an generic value storage holding a unsigned long value. More...
 
 value_view (float v)
 Create an generic value storage holding a float value. More...
 
 value_view (double v)
 Create an generic value storage holding a double value. More...
 
 value_view (Eina_Value *raw)
 
void swap (value_view &other)
 Swap stored values with the given eina::value object. More...
 
native_handle_type native_handle () const
 
void reset (Eina_Value *v)
 
type_info_t type_info () const
 Get an identifier for the type of the value currently stored. More...
 

Protected Attributes

::Eina_Value_raw
 

Friends

template<typename T >
get (value_view const &v)
 Get the data stored in the given eina::value. More...
 

Detailed Description

Store generic value.

Member Typedef Documentation

◆ native_handle_type

Get a handle for the wrapped Eina_Value.

Returns
Handle for the native Eina_Value.

This member function returns the native Eina_Value handle that is wrapped inside this object.

Warning
It is important to take care when using it, since the handle will be automatically released upon object destruction.

◆ type_info_t

Type for a constant pointer to an Eina_Value_Type.

Describes the type of the data being stored.

Constructor & Destructor Documentation

◆ value_view() [1/12]

efl::eina::value_view::value_view ( )
inline

Default constructor.

Create an empty generic value storage.

◆ value_view() [2/12]

template<typename T , typename Enable = typename std::enable_if<_eina_value_traits<T>::is_specialized::value>::type>
efl::eina::value_view::value_view ( v)
inline

Create an generic value storage holding the given argument.

Parameters
vValue to be stored.

◆ value_view() [3/12]

efl::eina::value_view::value_view ( char  v)
inline

Create an generic value storage holding a char value.

Parameters
vchar value to be stored.

◆ value_view() [4/12]

efl::eina::value_view::value_view ( short  v)
inline

Create an generic value storage holding a short value.

Parameters
vshort value to be stored.

◆ value_view() [5/12]

efl::eina::value_view::value_view ( int  v)
inline

Create an generic value storage holding a int value.

Parameters
vint value to be stored.

◆ value_view() [6/12]

efl::eina::value_view::value_view ( long  v)
inline

Create an generic value storage holding a long value.

Parameters
vlong value to be stored.

◆ value_view() [7/12]

efl::eina::value_view::value_view ( unsigned char  v)
inline

Create an generic value storage holding a unsigned char value.

Parameters
vunsigned char value to be stored.

◆ value_view() [8/12]

efl::eina::value_view::value_view ( unsigned short  v)
inline

Create an generic value storage holding a unsigned short value.

Parameters
vunsigned short value to be stored.

◆ value_view() [9/12]

efl::eina::value_view::value_view ( unsigned int  v)
inline

Create an generic value storage holding a unsigned int value.

Parameters
vunsigned int value to be stored.

◆ value_view() [10/12]

efl::eina::value_view::value_view ( unsigned long  v)
inline

Create an generic value storage holding a unsigned long value.

Parameters
vunsigned long value to be stored.

◆ value_view() [11/12]

efl::eina::value_view::value_view ( float  v)
inline

Create an generic value storage holding a float value.

Parameters
vfloat value to be stored.

◆ value_view() [12/12]

efl::eina::value_view::value_view ( double  v)
inline

Create an generic value storage holding a double value.

Parameters
vdouble value to be stored.

Member Function Documentation

◆ swap()

void efl::eina::value_view::swap ( value_view other)
inline

Swap stored values with the given eina::value object.

Parameters
otherAnother eina::value object.

References efl::eina::swap().

Referenced by efl::eina::swap().

◆ type_info()

type_info_t efl::eina::value_view::type_info ( ) const
inline

Get an identifier for the type of the value currently stored.

Returns
Eina_Value_Type instance or NULL if type is invalid.

References eina_value_type_get().

Referenced by efl::eina::operator<(), efl::eina::operator==(), and efl::eina::operator>().

Friends And Related Function Documentation

◆ get

template<typename T >
T get ( value_view const &  v)
friend

Get the data stored in the given eina::value.

Parameters
veina::value object.
TType of the value stored.
Returns
Copy of the value stored in v.
Exceptions
<tt>eina::system_error</tt>with error the code EINA_ERROR_VALUE_FAILED if T doesn't match the type of the value currently stored. Or eina::system_error with an internal Eina error code if the operation fails for another reason.

This function returns the value stored in v. The type of the value must be specified via the template parameter T, and must match the current stored value type.