next up previous
Next: Forward declarations needed Up: Known bugs in the Previous: Can't use `virtual'

Only works with built in types as parameters

At present the only types that can be passed as parameters or return types are those for which insertors and extractors to the marshaller and unmarshaller classes have been defined, which are

  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,char);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,int);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,unsigned int);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,unsigned short);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,unsigned long);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,long);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,short);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,float);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,double);
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,char *);  
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,String);// the GNU String
  UCPP_Marshaller & operator<<(UCPP_Marshaller & M,bool b)

and of course, pointers to UCPP classes. In due course will add:

In the meantime I can't get the default behaviour templates to work---not sure if this is aproblem with g++ or not. So, if any other parameter types are to be used explicit marshallers and unmarshallers need to be used.