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;
    ...
}