34 #ifndef __itkVectorDataContainer_h
35 #define __itkVectorDataContainer_h
37 #include "itkDataObject.h"
38 #include "itkObjectFactory.h"
69 typename TElementIdentifier,
74 public std::vector< TElement >
109 template<
typename InputIterator >
156 Iterator * operator->() {
return this; }
157 Iterator & operator++() { ++m_Pos; ++m_Iter;
return *
this; }
158 Iterator operator++(
int ) {
Iterator temp( *
this ); ++m_Pos; ++m_Iter;
return temp; }
161 Iterator & operator--() { --m_Pos; --m_Iter;
return *
this; }
162 Iterator operator--(
int ) {
Iterator temp( *
this ); --m_Pos; --m_Iter;
return temp; }
164 bool operator==(
const Iterator & r )
const {
return m_Iter == r.m_Iter; }
165 bool operator!=(
const Iterator & r )
const {
return m_Iter != r.m_Iter; }
166 bool operator==(
const ConstIterator & r )
const {
return m_Iter == r.m_Iter; }
167 bool operator!=(
const ConstIterator & r )
const {
return m_Iter != r.m_Iter; }
173 Element & Value(
void )
const {
return *m_Iter; }
194 ConstIterator & operator++() { ++m_Pos; ++m_Iter;
return *
this; }
198 ConstIterator & operator--() { --m_Pos; --m_Iter;
return *
this; }
201 ConstIterator & operator=(
const Iterator & r ) { m_Pos = r.m_Pos; m_Iter = r.m_Iter;
return *
this; }
203 bool operator==(
const Iterator & r )
const {
return m_Iter == r.m_Iter; }
204 bool operator!=(
const Iterator & r )
const {
return m_Iter != r.m_Iter; }
205 bool operator==(
const ConstIterator & r )
const {
return m_Iter == r.m_Iter; }
206 bool operator!=(
const ConstIterator & r )
const {
return m_Iter != r.m_Iter; }
212 const Element & Value(
void )
const {
return *m_Iter; }
320 unsigned long Size(
void )
const;
350 #ifndef ITK_MANUAL_INSTANTIATION
351 #include "itkVectorDataContainer.hxx"
354 #endif // end __itkVectorDataContainer_h
VectorDataContainer(size_type n)
ConstIterator Begin(void) const
ConstIterator End(void) const
VectorDataContainer(const Self &r)
bool GetElementIfIndexExists(ElementIdentifier, Element *) const
bool IndexExists(ElementIdentifier) const
void DeleteIndex(ElementIdentifier)
Element & CreateElementAt(ElementIdentifier)
__host__ __device__ void operator-=(int2 &a, int2 b)
SmartPointer< const Self > ConstPointer
VectorDataContainer(size_type n, const Element &x)
friend class ConstIterator
STLContainerType & CastToSTLContainer()
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
__host__ __device__ int2 operator*(int2 a, int2 b)
void CreateIndex(ElementIdentifier)
void SetElement(ElementIdentifier, Element)
const STLContainerType & CastToSTLConstContainer() const
std::vector< Element > VectorType
VectorType::size_type size_type
SmartPointer< Self > Pointer
void InsertElement(ElementIdentifier, Element)
Element GetElement(ElementIdentifier) const
VectorDataContainer(InputIterator first, InputIterator last)
unsigned long Size(void) const
Element & ElementAt(ElementIdentifier)
__host__ __device__ void operator+=(int2 &a, int2 b)
void Reserve(ElementIdentifier)
VectorType::iterator VectorIterator
VectorType::const_iterator VectorConstIterator
TElementIdentifier ElementIdentifier
VectorType STLContainerType