Itasca C++ Interface
Loading...
Searching...
No Matches
iextension.h
Go to the documentation of this file.
1#pragma once
6namespace itasca {
7 class Archive2;
8 class IThing;
9}
10
11namespace 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:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4