1 #ifndef __fpa__Base__QueueAlgorithm__h__
2 #define __fpa__Base__QueueAlgorithm__h__
6 #include <itkSmartPointer.h>
14 template< class _TSuperclass >
19 typedef QueueAlgorithm Self;
20 typedef _TSuperclass Superclass;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
25 typedef typename Superclass::_TQueueNode _TQueueNode;
26 typedef std::queue< _TQueueNode > _TQueue;
29 itkTypeMacro( QueueAlgorithm, _TSuperclass );
33 virtual ~QueueAlgorithm( );
35 virtual unsigned long _QueueSize( ) const override;
36 virtual void _QueueClear( ) override;
37 virtual void _QueuePush( const _TQueueNode& node ) override;
38 virtual _TQueueNode _QueuePop( ) override;
41 // Purposely not defined
42 QueueAlgorithm( const Self& other );
43 Self& operator=( const Self& other );
53 #ifndef ITK_MANUAL_INSTANTIATION
54 # include <fpa/Base/QueueAlgorithm.hxx>
55 #endif // ITK_MANUAL_INSTANTIATION
57 #endif // __fpa__Base__QueueAlgorithm__h__