1 // objective: test the \extends, \implements, \memberof, \private, and \public commands
2 // check: struct_object.xml
3 // check: struct_vehicle.xml
4 // check: struct_car.xml
5 // check: struct_truck.xml
11 typedef struct Object Object; //!< Object type
12 typedef struct Vehicle Vehicle; //!< Vehicle type
13 typedef struct Car Car; //!< Car type
14 typedef struct Truck Truck; //!< Truck type
21 int ref; //!< \private Reference count.
26 * Increments object reference count by one.
27 * \public \memberof Object
29 static Object * objRef(Object *obj);
33 * Decrements object reference count by one.
34 * \public \memberof Object
36 static Object * objUnref(Object *obj);
45 Object base; //!< \protected Base class.
51 * \public \memberof Vehicle
53 void vehicleStart(Vehicle *obj);
58 * \public \memberof Vehicle
60 void vehicleStop(Vehicle *obj);
69 Vehicle base; //!< \protected Base class.
79 Vehicle base; //!< \protected Base class.
86 * Ref vehicleStart(), objRef(), objUnref().
91 vehicleStart((Vehicle*) &c);