18 #ifndef itkVectorContainer_h
19 #define itkVectorContainer_h
47 template <
typename TElementIdentifier,
typename TElement>
50 ,
private std::vector<TElement>
91 const STLContainerType &
97 using STLContainerType::begin;
98 using STLContainerType::end;
99 using STLContainerType::rbegin;
100 using STLContainerType::rend;
101 using STLContainerType::cbegin;
102 using STLContainerType::cend;
103 using STLContainerType::crbegin;
104 using STLContainerType::crend;
106 using STLContainerType::size;
107 using STLContainerType::max_size;
108 using STLContainerType::resize;
109 using STLContainerType::capacity;
110 using STLContainerType::empty;
111 using STLContainerType::reserve;
112 using STLContainerType::shrink_to_fit;
114 using STLContainerType::operator[];
115 using STLContainerType::at;
116 using STLContainerType::front;
117 using STLContainerType::back;
119 using STLContainerType::assign;
120 using STLContainerType::push_back;
121 using STLContainerType::pop_back;
122 using STLContainerType::insert;
123 using STLContainerType::erase;
125 using STLContainerType::clear;
127 using STLContainerType::get_allocator;
129 using typename STLContainerType::reference;
130 using typename STLContainerType::const_reference;
131 using typename STLContainerType::iterator;
132 using typename STLContainerType::const_iterator;
133 using typename STLContainerType::size_type;
134 using typename STLContainerType::difference_type;
135 using typename STLContainerType::value_type;
136 using typename STLContainerType::allocator_type;
137 using typename STLContainerType::pointer;
138 using typename STLContainerType::const_pointer;
139 using typename STLContainerType::reverse_iterator;
140 using typename STLContainerType::const_reverse_iterator;
143 friend class Iterator;
144 friend class ConstIterator;
157 using pointer =
typename VectorIterator::pointer;
201 return static_cast<difference_type>(this->m_Pos) - static_cast<difference_type>(r.
m_Pos);
207 return m_Iter == r.
m_Iter;
210 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
Iterator);
215 return m_Iter == r.
m_Iter;
223 return (this->
operator-(r)) < 0;
254 return static_cast<ElementIdentifier>(m_Pos);
281 using pointer =
typename VectorConstIterator::pointer;
282 using reference =
typename VectorConstIterator::reference;
343 return static_cast<difference_type>(m_Pos) - static_cast<difference_type>(r.
m_Pos);
349 return m_Iter == r.
m_Iter;
352 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
Iterator);
357 return m_Iter == r.
m_Iter;
365 return (this->
operator-(r) < 0);
389 return static_cast<ElementIdentifier>(m_Pos);
559 template <
typename TInputIterator>
568 #ifndef ITK_MANUAL_INSTANTIATION
569 # include "itkVectorContainer.hxx"