- struct CompoundTypeDef
- {
- virtual ~CompoundTypeDef() { }
-
- virtual std::string describe() const = 0;
- virtual char *serialize(const C &, char *, char *) const = 0;
- virtual const char *deserialize(C &, const char *, const char *) const = 0;
- };
-
- template<typename C, typename S>
- struct CompoundDef: public CompoundTypeDef<C>
- {
- S serializer;
-
- CompoundDef(const S &);
-
- virtual std::string describe() const;
- virtual char *serialize(const C &, char *, char *) const;
- virtual const char *deserialize(C &, const char *, const char *) const;
- };