/** class Extensible is the parent class of many classes such as User and Channel.
* class Extensible implements a system which allows modules to 'extend' the class by attaching data within
/** class Extensible is the parent class of many classes such as User and Channel.
* class Extensible implements a system which allows modules to 'extend' the class by attaching data within
virtual std::string serialize(SerializeFormat format, const Extensible* container, void* item);
virtual void unserialize(SerializeFormat format, Extensible* container, const std::string& value);
virtual void free(void* item) = 0;
virtual std::string serialize(SerializeFormat format, const Extensible* container, void* item);
virtual void unserialize(SerializeFormat format, Extensible* container, const std::string& value);
virtual void free(void* item) = 0;
std::string serialize(SerializeFormat format, const Extensible* container, void* item);
intptr_t get(const Extensible* container);
intptr_t set(Extensible* container, intptr_t value);
std::string serialize(SerializeFormat format, const Extensible* container, void* item);
intptr_t get(const Extensible* container);
intptr_t set(Extensible* container, intptr_t value);
std::string* get(const Extensible* container);
std::string serialize(SerializeFormat format, const Extensible* container, void* item);
void unserialize(SerializeFormat format, Extensible* container, const std::string& value);
std::string* get(const Extensible* container);
std::string serialize(SerializeFormat format, const Extensible* container, void* item);
void unserialize(SerializeFormat format, Extensible* container, const std::string& value);