Itasca C++ Interface
iextension.h
Go to the documentation of this file.
1 #pragma once
6 namespace itasca {
7  class Archive2;
8  class IThing;
9 }
10 
11 namespace itascaxd {
12  using namespace itasca;
13 
22  class IExtension {
23  public:
25  virtual void hostDestroyNotice()=0;
27  virtual void save(Archive2 &a) const=0;
28  virtual bool restore(Archive2 &a,uint64 label)=0;
29  virtual void remap(Archive2 &a)=0;
31  virtual IString getName() const=0;
33  virtual IExtension *clone() const=0;
34  };
35 } // namespace itascaxd
36 // EOF
Definition: istring.h:14
Interface class for acessing extension stored in the base class of other things.
Definition: iextension.h:22
virtual IString getName() const =0
Returns the extension name. Needs to be the same as the registered name, or typeid(T)....
virtual void save(Archive2 &a) const =0
Save/restore data.
virtual void hostDestroyNotice()=0
Notice emitted to inform that host was destroyed.
virtual IExtension * clone() const =0
Allocates memory and returns a poniter to an object that inherits from IExtension.
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4