18#ifndef itkObjectStore_h
19#define itkObjectStore_h
43 EXPONENTIAL_GROWTH = 1
46extern ITKCommon_EXPORT std::ostream &
83template <
typename TObjectType>
108#if !defined(ITK_LEGACY_REMOVE)
111 static constexpr GrowthStrategyEnum LINEAR_GROWTH = GrowthStrategyEnum::LINEAR_GROWTH;
112 static constexpr GrowthStrategyEnum EXPONENTIAL_GROWTH = GrowthStrategyEnum::EXPONENTIAL_GROWTH;
157 this->SetGrowthStrategy(GrowthStrategyEnum::EXPONENTIAL_GROWTH);
164 this->SetGrowthStrategy(GrowthStrategyEnum::LINEAR_GROWTH);
209 std::vector<MemoryBlock> m_Store{};
214#ifndef ITK_MANUAL_INSTANTIATION
215# include "itkObjectStore.hxx"
Control indentation during Print() invocation.
Light weight base class for most itk classes.
A specialized memory management object for allocating and destroying contiguous blocks of objects.
void Return(ObjectType *p)
std::vector< ObjectType * > FreeListType
void Reserve(SizeValueType n)
void PrintSelf(std::ostream &os, Indent indent) const override
SizeValueType GetGrowthSize()
void SetGrowthStrategyToExponential()
void SetGrowthStrategyToLinear()
Base class for most ITK classes.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
unsigned long SizeValueType
MemoryBlock(SizeValueType n)
Represent a n-dimensional size (bounds) of a n-dimensional image.