34 #ifndef CARTODATA_ROI_DOI_H
35 #define CARTODATA_ROI_DOI_H
40 #define DECLARE_VIRTUAL_GENERIC_OBJECT_TYPE( T ) \
42 struct GenericObjectTypeDeclared< T > \
44 static inline void check() {}; \
47 void DictionaryInterface::setProperty( const std::string &key, \
50 bool DictionaryInterface::getProperty( const std::string &key, T &value ) const; \
51 extern template class TypedObject< T >; \
52 extern template class ReferenceObject< T >; \
53 extern template class PointerObject< T >; \
55 T const &GenericObject::value< T >() const; \
57 T &GenericObject::value< T >(); \
59 bool GenericObject::value( T &dest ) const; \
61 void GenericObject::setValue( T const & x ); \
62 extern template bool DictionaryInterface:: \
63 getProperty( const std::string &, T & ) const; \
64 extern template void DictionaryInterface:: \
65 setProperty( const std::string &, T const & ); \
121 #define T DiscreteDOI
125 static inline void check() {};
137 extern template class ReferenceObject< T >;
138 extern template class PointerObject< T >;
140 T
const &GenericObject::value< T >()
const;
142 T &GenericObject::value< T >();
161 Object currentValue()
const;
162 virtual double currentNumber()
const = 0;
174 virtual Object objectIterator()
const;
175 virtual Object valueAt(
const Site &site )
const;
177 virtual double numberAt(
const Site &site )
const;
virtual bool getProperty(const std::string &key, Object &value) const=0
virtual void setProperty(const std::string &key, Object value)=0
virtual Object objectIterator() const =0
virtual Object valueAt(const Site &site) const
void setValue(const T &val)
virtual Object clone() const
static void check(T *x=NULL)