Itasca C++ Interface
iudtype.h
Go to the documentation of this file.
1 #pragma once
2 // iudtype.h
3 
9 namespace itasca {
10  class IThing;
11 }
12 
13 namespace itascaxd {
14  using namespace itasca;
15 
16  class IUDData;
17  class IUDPos;
18 
20 
23  template <class T> class IUDType {
24  public:
26  typedef T value_type;
27 
29  virtual IThing * getIThing()=0;
31  virtual const IThing * getIThing() const=0;
33  virtual IUDPos * getIUDPos()=0;
35  virtual const IUDPos * getIUDPos() const=0;
37  virtual IUDType<T> * getNext()=0;
39  virtual const IUDType<T> *getNext() const=0;
40 
42  virtual T getValue() const=0;
44  virtual void setValue(const T &t)=0;
45  };
46 } // namespace itascaxd
47 // EoF
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface to the position in space of user-defined data that requires it.
Definition: iudpos.h:23
Interface to data values of different types associated with position in space, as user-defined data.
Definition: iudtype.h:23
virtual T getValue() const =0
Returns the current value associated with the user-defined data.
virtual IThing * getIThing()=0
Returns an IThing interface to this object.
virtual const IUDPos * getIUDPos() const =0
Returns a const IUDPos interface to this object.
virtual IUDType< T > * getNext()=0
Returns the next object in whatever global container it exists in.
virtual const IThing * getIThing() const =0
Returns a const IThing interface to this object.
T value_type
Specifies the value stored in the object.
Definition: iudtype.h:26
virtual const IUDType< T > * getNext() const =0
Returns the const next object in whatever global container it exists in.
virtual void setValue(const T &t)=0
Sets the value associated with the user-defined data.
virtual IUDPos * getIUDPos()=0
Returns an IUDPos interface to this object.
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4