Main Page Widgets Namespaces Book

# Generic Values

## Detailed Description

Glib::Value<> is specialized for almost any type used within the 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.

## Classes

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