18 #ifndef itkVectorContainer_h
19 #define itkVectorContainer_h
47 template <
typename TElementIdentifier,
typename TElement>
50 ,
private std::vector<TElement>
87 template <
typename TInputIterator>
116 const STLContainerType &
122 using STLContainerType::begin;
123 using STLContainerType::end;
124 using STLContainerType::rbegin;
125 using STLContainerType::rend;
126 using STLContainerType::cbegin;
127 using STLContainerType::cend;
128 using STLContainerType::crbegin;
129 using STLContainerType::crend;
131 using STLContainerType::size;
132 using STLContainerType::max_size;
133 using STLContainerType::resize;
134 using STLContainerType::capacity;
135 using STLContainerType::empty;
136 using STLContainerType::reserve;
137 using STLContainerType::shrink_to_fit;
139 using STLContainerType::operator[];
140 using STLContainerType::at;
141 using STLContainerType::front;
142 using STLContainerType::back;
144 using STLContainerType::assign;
145 using STLContainerType::push_back;
146 using STLContainerType::pop_back;
147 using STLContainerType::insert;
148 using STLContainerType::erase;
150 using STLContainerType::clear;
152 using STLContainerType::get_allocator;
154 using typename STLContainerType::reference;
155 using typename STLContainerType::const_reference;
156 using typename STLContainerType::iterator;
157 using typename STLContainerType::const_iterator;
160 using typename STLContainerType::difference_type;
161 using typename STLContainerType::value_type;
162 using typename STLContainerType::allocator_type;
163 using typename STLContainerType::pointer;
164 using typename STLContainerType::const_pointer;
165 using typename STLContainerType::reverse_iterator;
166 using typename STLContainerType::const_reverse_iterator;
169 friend class Iterator;
170 friend class ConstIterator;
183 using pointer =
typename VectorIterator::pointer;
227 return static_cast<difference_type>(this->m_Pos) - static_cast<difference_type>(r.
m_Pos);
233 return m_Iter == r.
m_Iter;
236 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
Iterator);
241 return m_Iter == r.
m_Iter;
249 return (this->
operator-(r)) < 0;
280 return static_cast<ElementIdentifier>(m_Pos);
307 using pointer =
typename VectorConstIterator::pointer;
308 using reference =
typename VectorConstIterator::reference;
369 return static_cast<difference_type>(m_Pos) - static_cast<difference_type>(r.
m_Pos);
375 return m_Iter == r.
m_Iter;
378 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
Iterator);
383 return m_Iter == r.
m_Iter;
391 return (this->
operator-(r) < 0);
415 return static_cast<ElementIdentifier>(m_Pos);
570 #ifndef ITK_MANUAL_INSTANTIATION
571 # include "itkVectorContainer.hxx"