Main Page glibmm Namespaces Book

# Generic Values

Glib::Value<> is specialized for almost any type used within the glibmm and gtkmm libraries. More...

## Classes
class | Glib::ValueBase
class | Glib::ValueBase_Boxed
class | Glib::ValueBase_Object
class | Glib::ValueBase_Enum
class | Glib::ValueBase_Flags
class | Glib::ValueBase_String
class | Glib::Value_Boxed<T>
class | Glib::Value<std::string>
| Specialization for strings. More...
class | Glib::Value<Glib::ustring>
| Specialization for UTF-8 strings. More...
class | Glib::Value_Enum<T>
| Base class of Glib::Value<T> specializations for enum types. More...
class | Glib::Value_Flags<T>
| Base class of Glib::Value<T> specializations for flags types. More...
class | Glib::Value<bool>
class | Glib::Value<char>
class | Glib::Value<unsigned char>
class | Glib::Value<int>
class | Glib::Value<unsigned int>
class | Glib::Value<long>
class | Glib::Value<unsigned long>
class | Glib::Value<long long>
class | Glib::Value<unsigned long long>
class | Glib::Value<float>
class | Glib::Value<double>
class | Glib::Value<void*>
class | Glib::Value_Pointer<T, PtrT>
class | Glib::Value<T>
| Generic value implementation for custom types. More...
class | Glib::Value<T*>
| Specialization for pointers to instances of any type. More...
class | Glib::Value<const T*>
| Specialization for pointers to const instances of any type. More...

## Detailed Description

Glib::Value<> is specialized for almost any type used within the glibmm and gtkmm libraries.

- Basic types like `int`, `char`, `bool`, etc., also `void*`.
- Glib::ustring and std::string.
- Pointers to classes derived from Glib::Object.
- Glib::RefPtr<> pointer types, which are assumed to be Glib::Object pointers.
- All flags and enum types used within the gtkmm libraries.

If a type doesn't fit into any of these categories, then a generic implementation for custom types will be used. The requirements imposed on custom types are described in the Glib::Value class documentation.