virtual bool is_pointer() const { return true; }
virtual const std::type_info & pointed_type() const { return typeid(ValueType); }
virtual void* get_pointer() const {
virtual bool is_pointer() const { return true; }
virtual const std::type_info & pointed_type() const { return typeid(ValueType); }
virtual void* get_pointer() const {