18 #ifndef itkWatershedSegmentTree_h
19 #define itkWatershedSegmentTree_h
46 template<
typename TScalar >
77 struct merge_comp:
public std:: binary_function< bool, const merge_t &,
88 struct sort_comp:
public std:: binary_function< bool, const merge_t &,
97 typename DequeType::size_type
Size()
const
98 {
return m_Deque.size(); }
103 {
return m_Deque.empty(); }
108 {
return m_Deque.front(); }
113 {
return m_Deque.back(); }
117 {
return m_Deque.front(); }
121 {
return m_Deque.back(); }
125 { m_Deque.push_front(t); }
129 { m_Deque.push_back(t); }
133 { m_Deque.pop_front(); }
137 { m_Deque.pop_back(); }
141 {
return m_Deque.begin(); }
145 {
return m_Deque.begin(); }
150 {
return m_Deque.end(); }
155 {
return m_Deque.end(); }
163 virtual void Initialize() ITK_OVERRIDE;
170 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
177 #ifndef ITK_MANUAL_INSTANTIATION
178 #include "itkWatershedSegmentTree.hxx"
const merge_t & Front() const
bool operator()(const merge_t &a, const merge_t &b)
SegmentTree(const Self &)
void PushBack(const ValueType &t)
DequeType::iterator Iterator
bool operator()(const merge_t &a, const merge_t &b)
DequeType::const_iterator ConstIterator
SmartPointer< Self > Pointer
virtual ~SegmentTree() override
SizeValueType IdentifierType
ConstIterator End() const
const merge_t & Back() const
ConstIterator Begin() const
void PushFront(const ValueType &t)
std::deque< merge_t > DequeType
void operator=(const Self &)
Control indentation during Print() invocation.
DequeType::value_type ValueType
SmartPointer< const Self > ConstPointer
DequeType::size_type Size() const
Base class for all data objects in ITK.