2 %module smart_pointer_templatemethods
12 T *operator -> () { return 0; }
15 typedef unsigned short uint16_t;
19 InterfaceId (uint16_t iid) {}
23 template <typename K> class Objekt
28 Ptr<K> QueryInterface (InterfaceId iid) const { return Ptr<K>(); }
29 void DisposeObjekt (void) {}
37 template <typename T> Ptr<T> QueryInterface (InterfaceId iid) const { return Ptr<T>(); }
38 void DisposeObject (void) {}
42 %template(PtrObject) Ptr<Object>;
43 %template(PtrInt) Ptr<int>;
44 %template(ObjektInt) Objekt<int>;
45 %template(PtrObjektInt) Ptr<Objekt<int> >;
46 %template(QueryInterfaceObject) Object::QueryInterface<Object>;