# Generic Values

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

## Classes

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::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_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.