18 #ifndef itkSparseFieldLayer_h
19 #define itkSparseFieldLayer_h
36 template <
typename TNodeType>
74 m_Pointer = m_Pointer->Next;
81 m_Pointer = m_Pointer->Previous;
99 template <
typename TNodeType>
116 return *this->m_Pointer;
122 return this->m_Pointer;
128 return this->m_Pointer;
134 this->m_Pointer = this->m_Pointer->Next;
141 this->m_Pointer = this->m_Pointer->Previous;
148 this->m_Pointer = const_cast<TNodeType *>(sc.
GetPointer());
175 template <
typename TNodeType>
220 return m_HeadNode->Next;
227 return m_HeadNode->Next;
234 m_HeadNode->Next = m_HeadNode->Next->Next;
235 m_HeadNode->Next->Previous = m_HeadNode.get();
244 n->Next = m_HeadNode->Next;
245 n->Previous = m_HeadNode.get();
246 m_HeadNode->Next->Previous = n;
247 m_HeadNode->Next = n;
256 n->Previous->Next = n->Next;
257 n->Next->Previous = n->Previous;
295 if (m_HeadNode->Next == m_HeadNode.get())
311 SplitRegions(
int num)
const;
317 PrintSelf(std::ostream & os,
Indent indent)
const override;
322 const std::unique_ptr<NodeType> m_HeadNode{ std::make_unique<NodeType>() };
323 unsigned int m_Size{};
327 #ifndef ITK_MANUAL_INSTANTIATION
328 # include "itkSparseFieldLayer.hxx"