1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Filters__QueueAlgorithm__h__
6 #define __fpa__Filters__QueueAlgorithm__h__
9 #include <fpa/Config.h>
17 template< class _TDataInterface >
19 : public _TDataInterface
22 typedef _TDataInterface Superclass;
23 typedef QueueAlgorithm Self;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
27 typedef typename Superclass::TTraits TTraits;
28 fpaTraitsMacro( typename TTraits );
30 typedef std::deque< TNode > TQueue;
33 itkTypeMacro( fpa::Filters::QueueAlgorithm, TDataInterface );
36 QueueAlgorithm( bool double_buffer );
37 virtual ~QueueAlgorithm( );
39 virtual void _QueueSwap( );
40 virtual void _QueueClear( ) override;
41 virtual TNode _QueuePop( ) override;
42 virtual void _QueuePush( const TNode& n ) override;
43 virtual unsigned long _QueueSize( ) const override;
46 QueueAlgorithm( const Self& other );
47 Self& operator=( const Self& other );
51 unsigned int m_CurrQueue;
59 #ifndef ITK_MANUAL_INSTANTIATION
60 # include <fpa/Filters/QueueAlgorithm.hxx>
61 #endif // ITK_MANUAL_INSTANTIATION
62 #endif // __fpa__Filters__QueueAlgorithm__h__