18 #ifndef itkSparseFieldLayer_h
19 #define itkSparseFieldLayer_h
35 template <
typename TNodeType>
39 const TNodeType &
operator*()
const {
return *m_Pointer; }
41 const TNodeType *
operator->()
const {
return m_Pointer; }
67 m_Pointer = m_Pointer->Next;
74 m_Pointer = m_Pointer->Previous;
92 template <
typename TNodeType>
113 return this->m_Pointer;
119 this->m_Pointer = this->m_Pointer->Next;
126 this->m_Pointer = this->m_Pointer->Previous;
133 this->m_Pointer = const_cast<TNodeType *>(sc.
GetPointer());
160 template <
typename TNodeType>
205 return m_HeadNode->Next;
212 return m_HeadNode->Next;
219 m_HeadNode->Next = m_HeadNode->Next->Next;
220 m_HeadNode->Next->Previous = m_HeadNode;
228 n->Next = m_HeadNode->Next;
229 n->Previous = m_HeadNode;
230 m_HeadNode->Next->Previous = n;
231 m_HeadNode->Next = n;
239 n->Previous->Next = n->Next;
240 n->Next->Previous = n->Previous;
278 if (m_HeadNode->Next == m_HeadNode)
297 SplitRegions(
int num)
const;
303 PrintSelf(std::ostream & os,
Indent indent)
const override;
309 unsigned int m_Size{};
313 #ifndef ITK_MANUAL_INSTANTIATION
314 # include "itkSparseFieldLayer.hxx"