ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier > Class Template Reference

#include <itkPriorityQueueContainer.h>

Detailed Description

template<typename TElementWrapper, typename TElementWrapperInterface, typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
class itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >

Definition at line 193 of file itkPriorityQueueContainer.h.

+ Inheritance diagram for itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >:
+ Collaboration diagram for itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ElementIdentifierType = TElementIdentifier
 
using ElementInterfaceType = TElementWrapperInterface
 
using ElementWrapperType = TElementWrapper
 
using Pointer = SmartPointer< Self >
 
using Self = PriorityQueueContainer
 
using Superclass = VectorContainer< TElementIdentifier, TElementWrapper >
 
- Public Types inherited from itk::detail::VectorContainer< TElementIdentifier, TElement >
using ConstPointer = SmartPointer< const Self >
 
using Element = TElement
 
using ElementIdentifier = TElementIdentifier
 
using Pointer = SmartPointer< Self >
 
using Self = VectorContainer
 
using STLContainerType = VectorType
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

void Clear ()
 
bool DeleteElement (const ElementWrapperType &element)
 
bool Empty () const
 
const char * GetNameOfClass () const override
 
const ElementWrapperTypePeek () const
 
void Pop ()
 
 PriorityQueueContainer ()=default
 
template<typename TInputIterator >
 PriorityQueueContainer (TInputIterator first, TInputIterator last)
 
void Push (ElementWrapperType element)
 
bool Update (const ElementWrapperType &element)
 
 ~PriorityQueueContainer () override=default
 
- Public Member Functions inherited from itk::detail::VectorContainer< TElementIdentifier, TElement >
Iterator Begin ()
 
ConstIterator Begin () const
 
const STLContainerTypeCastToSTLConstContainer () const noexcept
 
STLContainerTypeCastToSTLContainer () noexcept
 
reference CreateElementAt (ElementIdentifier)
 
void CreateIndex (ElementIdentifier)
 
void DeleteIndex (ElementIdentifier)
 
reference ElementAt (ElementIdentifier)
 
const_reference ElementAt (ElementIdentifier) const
 
Iterator End ()
 
ConstIterator End () const
 
Element GetElement (ElementIdentifier) const
 
bool GetElementIfIndexExists (ElementIdentifier, Element *) const
 
const char * GetNameOfClass () const override
 
bool IndexExists (ElementIdentifier) const
 
void Initialize ()
 
void InsertElement (ElementIdentifier, Element)
 
void Reserve (ElementIdentifier)
 
void SetElement (ElementIdentifier, Element)
 
ElementIdentifier Size () const
 
void Squeeze ()
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
const char * GetNameOfClass () const override
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual const char * GetNameOfClass () const
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::detail::VectorContainer< TElementIdentifier, TElement >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static const ElementIdentifierType m_ElementNotFound
 

Protected Member Functions

ElementWrapperTypeGetElementAtLocation (const ElementIdentifierType &identifier)
 
const ElementWrapperTypeGetElementAtLocation (const ElementIdentifierType &identifier) const
 
ElementIdentifierType GetLeft (const ElementIdentifierType &identifier) const
 
ElementIdentifierType GetParent (const ElementIdentifierType &identifier) const
 
ElementIdentifierType GetRight (const ElementIdentifierType &identifier) const
 
bool HasParent (const ElementIdentifierType &iId) const
 
void SetElementAtLocation (const ElementIdentifierType &identifier, ElementWrapperType &element)
 
void UpdateDownTree (const ElementIdentifierType &identifier)
 
void UpdateUpTree (const ElementIdentifierType &identifier)
 
- Protected Member Functions inherited from itk::detail::VectorContainer< TElementIdentifier, TElement >
 VectorContainer ()=default
 
 VectorContainer (size_type n)
 
 VectorContainer (size_type n, const Element &x)
 
 VectorContainer (const Self &r)
 
template<typename TInputIterator >
 VectorContainer (TInputIterator first, TInputIterator last)
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

ElementInterfaceType m_Interface {}
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ ConstPointer

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::ConstPointer = SmartPointer<const Self>

Definition at line 199 of file itkPriorityQueueContainer.h.

◆ ElementIdentifierType

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::ElementIdentifierType = TElementIdentifier

Definition at line 201 of file itkPriorityQueueContainer.h.

◆ ElementInterfaceType

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::ElementInterfaceType = TElementWrapperInterface

Definition at line 203 of file itkPriorityQueueContainer.h.

◆ ElementWrapperType

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::ElementWrapperType = TElementWrapper

Definition at line 202 of file itkPriorityQueueContainer.h.

◆ Pointer

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Pointer = SmartPointer<Self>

Definition at line 198 of file itkPriorityQueueContainer.h.

◆ Self

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Self = PriorityQueueContainer

Definition at line 196 of file itkPriorityQueueContainer.h.

◆ Superclass

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
using itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Superclass = VectorContainer<TElementIdentifier, TElementWrapper>

Definition at line 197 of file itkPriorityQueueContainer.h.

Constructor & Destructor Documentation

◆ PriorityQueueContainer() [1/2]

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::PriorityQueueContainer ( )
default

◆ ~PriorityQueueContainer()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::~PriorityQueueContainer ( )
overridedefault

◆ PriorityQueueContainer() [2/2]

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
template<typename TInputIterator >
itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::PriorityQueueContainer ( TInputIterator  first,
TInputIterator  last 
)
inline

Definition at line 212 of file itkPriorityQueueContainer.h.

Member Function Documentation

◆ Clear()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Clear ( )

◆ DeleteElement()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
bool itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::DeleteElement ( const ElementWrapperType element)

Delete element in the container.

Returns
true if the element is in the priority queue
false else

◆ Empty()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
bool itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Empty ( ) const

◆ GetElementAtLocation() [1/2]

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
ElementWrapperType & itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetElementAtLocation ( const ElementIdentifierType identifier)
inlineprotected

Definition at line 260 of file itkPriorityQueueContainer.h.

◆ GetElementAtLocation() [2/2]

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
const ElementWrapperType & itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetElementAtLocation ( const ElementIdentifierType identifier) const
inlineprotected

Definition at line 266 of file itkPriorityQueueContainer.h.

◆ GetLeft()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
ElementIdentifierType itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetLeft ( const ElementIdentifierType identifier) const
inlineprotected

Definition at line 285 of file itkPriorityQueueContainer.h.

◆ GetNameOfClass()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
const char * itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ GetParent()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
ElementIdentifierType itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetParent ( const ElementIdentifierType identifier) const
inlineprotected

Definition at line 279 of file itkPriorityQueueContainer.h.

◆ GetRight()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
ElementIdentifierType itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::GetRight ( const ElementIdentifierType identifier) const
inlineprotected

Definition at line 291 of file itkPriorityQueueContainer.h.

◆ HasParent()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
bool itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::HasParent ( const ElementIdentifierType iId) const
inlineprotected

Definition at line 297 of file itkPriorityQueueContainer.h.

◆ New()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
static Pointer itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::New ( )
static

◆ Peek()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
const ElementWrapperType & itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Peek ( ) const

◆ Pop()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Pop ( )

◆ Push()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Push ( ElementWrapperType  element)

◆ SetElementAtLocation()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::SetElementAtLocation ( const ElementIdentifierType identifier,
ElementWrapperType element 
)
inlineprotected

Definition at line 272 of file itkPriorityQueueContainer.h.

◆ Update()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
bool itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::Update ( const ElementWrapperType element)

Update element in container.

Returns
true if the element is in the priority queue
false else

◆ UpdateDownTree()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::UpdateDownTree ( const ElementIdentifierType identifier)
protected

◆ UpdateUpTree()

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
void itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::UpdateUpTree ( const ElementIdentifierType identifier)
protected

Member Data Documentation

◆ m_ElementNotFound

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
const ElementIdentifierType itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::m_ElementNotFound
static

Definition at line 205 of file itkPriorityQueueContainer.h.

◆ m_Interface

template<typename TElementWrapper , typename TElementWrapperInterface , typename TElementPriority = double, typename TElementIdentifier = IdentifierType>
ElementInterfaceType itk::PriorityQueueContainer< TElementWrapper, TElementWrapperInterface, TElementPriority, TElementIdentifier >::m_Interface {}
protected

Definition at line 257 of file itkPriorityQueueContainer.h.


The documentation for this class was generated from the following file: