18 #ifndef itkSparseFieldLayer_h
19 #define itkSparseFieldLayer_h
36 template <
typename TNodeType>
76 m_Pointer = m_Pointer->Next;
83 m_Pointer = m_Pointer->Previous;
101 template <
typename TNodeType>
118 return *this->m_Pointer;
124 return this->m_Pointer;
130 return this->m_Pointer;
136 this->m_Pointer = this->m_Pointer->Next;
143 this->m_Pointer = this->m_Pointer->Previous;
150 this->m_Pointer = const_cast<TNodeType *>(sc.
GetPointer());
177 template <
typename TNodeType>
222 return m_HeadNode->Next;
229 return m_HeadNode->Next;
236 m_HeadNode->Next = m_HeadNode->Next->Next;
237 m_HeadNode->Next->Previous = m_HeadNode.get();
246 n->Next = m_HeadNode->Next;
247 n->Previous = m_HeadNode.get();
248 m_HeadNode->Next->Previous = n;
249 m_HeadNode->Next = n;
258 n->Previous->Next = n->Next;
259 n->Next->Previous = n->Previous;
297 if (m_HeadNode->Next == m_HeadNode.get())
316 SplitRegions(
int num)
const;
322 PrintSelf(std::ostream & os,
Indent indent)
const override;
327 const std::unique_ptr<NodeType> m_HeadNode{ std::make_unique<NodeType>() };
328 unsigned int m_Size{};
332 #ifndef ITK_MANUAL_INSTANTIATION
333 # include "itkSparseFieldLayer.hxx"