template<typename Type> struct mandatory { typedef Type type; type data_; mandatory(); mandatory(const type &other); mandatory(const mandatory &other); operator type &(); operator const type &() const; };