00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_ABSTRACT_MAP_H_
00017
# define VTK_ABSTRACT_MAP_H_
00018
# include "vtkContainer.h"
00019
# include "vtkAbstractMapIterator.h"
00020
00021
VTK_EXTENSIONS_CONTAINERS_NAMESPACE_BEGIN
00022
00036 class VTK_EXTENSIONS_CONTAINERS_EXPORT vtkAbstractMap
00037 :
public vtkContainer
00038 {
00039
public:
00040 vtkTypeRevisionMacro (vtkAbstractMap,
vtkContainer);
00041
void PrintSelf (ostream&,
vtkIndent);
00042
00047
virtual int Swap (vtkAbstractMap* container) = 0;
00048
00053
virtual vtkIdType GetCapacity (
void)
const;
00054
00057
virtual int GetCheckUnique (
void)
const;
00058
virtual void SetCheckUnique (
int a);
00059 vtkBooleanMacro (CheckUnique,
int);
00064
virtual int GetCheckCase (
void)
const;
00065
virtual void SetCheckCase (
int a);
00066 vtkBooleanMacro (CheckCase,
int);
00078
virtual vtkObjectBase* Find (
const char* key)
const;
00079
00092
virtual int Insert (
const char* key,
00093
vtkObjectBase* object) = 0;
00094
00105
virtual int Erase (
const char* key) = 0;
00106
00111
virtual const char* FindKey (
const vtkObjectBase* object) = 0;
00112
00119
virtual const char* FindNextKey (
void) = 0;
00120
00128
virtual int Front (
const char* & key,
00129
vtkObjectBase* & object)
const;
00130
00136
virtual int Back (
const char* & key,
00137
vtkObjectBase* & object)
const;
00141
virtual vtkAbstractMapIterator*
CreateIterator (
void) = 0;
00142
00143
protected:
00144 vtkAbstractMap (
void) {}
00145 ~vtkAbstractMap() {}
00146
00147
private:
00148
00151
int Swap (
vtkContainer* a)
00152 {
return this->
Swap(static_cast<vtkAbstractMap*>(a)); }
00154
00155
00156
private:
00162 vtkAbstractMap (
const vtkAbstractMap&);
00163
void operator= (
const vtkAbstractMap&);
00165 };
00166
00167
VTK_EXTENSIONS_CONTAINERS_NAMESPACE_END
00168
00169
#endif
00170
00171
00172
00173