Any type to be used with this template must implement:
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<>.
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.