2.1.2.11.1. Value Mapping Example
class AValue : public virtual ValueBase {
public:
virtual void ShortItem (Short) = 0;
virtual Short ShortItem () const = 0;
virtual void LongItem (Long) = 0;
virtual Long LongItem () const = 0;
...
virtual ... AnOperation (...) = 0;
}
class OBV_AValue : public virtual AValue {
public:
virtual void ShortItem (Short) { ... };
virtual Short ShortItem () const { ... };
virtual void LongItem (Long) { ... };
virtual Long LongItem () const { ... };
...
virtual ... AnOperation (...) = 0;
}
class ValueFactoryBase {
private:
virtual ValueBase *create_for_unmarshal () = 0;
...
}
class AValue_init : public ValueFactoryBase {
public:
virtual AValue *AConstructor (...) = 0;
...
}