glibmm: Glib::Value< T > Class Template Reference
Generic value implementation for custom types. More...
#include <glibmm/value_custom.h>
Inheritance diagram for Glib::Value< T >:

Public Types |
|
using | CppType = T |
using | CType = T* |
Public Member Functions |
|
void | set (const CppType & data) |
CppType | get () const |
![]() |
|
ValueBase () | |
Initializes the GValue, but without a type.
More...
|
|
ValueBase (const ValueBase & other) | |
ValueBase & | operator= (const ValueBase & other) |
~ValueBase () noexcept | |
void | init (GType type) |
Setup the GValue for storing the specified
type
.
More...
|
|
void | init (const GValue* value) |
Setup the GValue storing the type and value of the specified
value
.
More...
|
|
void | reset () |
Reset contents to the default value of its type.
More...
|
|
GValue* | gobj () |
const GValue* | gobj () const |
Static Public Member Functions |
|
static GType | value_type () |
![]() |
|
static GType | value_type () |
Additional Inherited Members |
|
![]() |
|
void | set_boxed (const void* data) |
void* | get_boxed () const |
![]() |
|
GValue | gobject_ |
Detailed Description
template<class T>
class Glib::Value< T >
Generic value implementation for custom types.
Any type to be used with this template must implement:
- default constructor
- copy constructor
- assignment operator
- destructor
Compiler-generated implementations are OK, provided they do the right thing for the type. In other words, any type that works with
std::vector
will work with Glib::Value<>.
- Note
- None of the operations listed above are allowed to throw. If you cannot ensure that no exceptions will be thrown, consider using either a normal pointer or a smart pointer to hold your objects indirectly.
Member Typedef Documentation
template <class T >
using Glib::Value < T >:: CppType = T |
template <class T >
using Glib::Value < T >:: CType = T* |
Member Function Documentation
template <class T >
|
inline |
template <class T >
|
inline |
template <class T >
|
static |