AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members | Public Types | Public Member Functions
AAX_IPointerQueue< T > Class Template Referenceabstract

#include <AAX_IPointerQueue.h>

Inheritance diagram for AAX_IPointerQueue< T >:
[legend]
Collaboration diagram for AAX_IPointerQueue< T >:
[legend]

Description

template<typename T>
class AAX_IPointerQueue< T >

Abstract interface for a basic FIFO queue of pointers-to-objects

Public Types

typedef T template_type
 The type used for this template instance. More...
 
typedef T * value_type
 The type of values stored in this queue. More...
 
- Public Types inherited from AAX_IContainer
enum  EStatus {
  eStatus_Success = 0 ,
  eStatus_Overflow = 1 ,
  eStatus_NotInitialized = 2 ,
  eStatus_Unavailable = 3 ,
  eStatus_Unsupported = 4
}
 

Public Member Functions

virtual ~AAX_IPointerQueue ()
 
virtual void Clear ()=0
 
virtual AAX_IContainer::EStatus Push (value_type inElem)=0
 
virtual value_type Pop ()=0
 
virtual value_type Peek () const =0
 
- Public Member Functions inherited from AAX_IContainer
virtual ~AAX_IContainer ()
 

Member Typedef Documentation

◆ template_type

template<typename T >
typedef T AAX_IPointerQueue< T >::template_type

The type used for this template instance.

◆ value_type

template<typename T >
typedef T* AAX_IPointerQueue< T >::value_type

The type of values stored in this queue.

Constructor & Destructor Documentation

◆ ~AAX_IPointerQueue()

template<typename T >
virtual AAX_IPointerQueue< T >::~AAX_IPointerQueue ( )
inlinevirtual

Member Function Documentation

◆ Clear()

template<typename T >
virtual void AAX_IPointerQueue< T >::Clear ( )
pure virtual

Note
This operation is NOT atomic
This does NOT call the destructor for any pointed-to elements; it only clears the pointer values in the queue

Implements AAX_IContainer.

Implemented in AAX_CAtomicQueue< T, S >, AAX_CAtomicQueue< TNumberedParamStateList, 256 >, and AAX_CAtomicQueue< const TParamValPair, 16 *kSynchronizedParameterQueueSize >.

◆ Push()

template<typename T >
virtual AAX_IContainer::EStatus AAX_IPointerQueue< T >::Push ( value_type  inElem)
pure virtual

◆ Pop()

template<typename T >
virtual value_type AAX_IPointerQueue< T >::Pop ( )
pure virtual

Pop the front element from the queue

Call from: Read thread

Returns
NULL if no element is available

Implemented in AAX_CAtomicQueue< T, S >, AAX_CAtomicQueue< TNumberedParamStateList, 256 >, and AAX_CAtomicQueue< const TParamValPair, 16 *kSynchronizedParameterQueueSize >.

◆ Peek()

template<typename T >
virtual value_type AAX_IPointerQueue< T >::Peek ( ) const
pure virtual

Get the current top element without popping it off of the queue

Call from: Read thread

Note
This value will change if another thread calls Pop()

Implemented in AAX_CAtomicQueue< T, S >, AAX_CAtomicQueue< TNumberedParamStateList, 256 >, and AAX_CAtomicQueue< const TParamValPair, 16 *kSynchronizedParameterQueueSize >.


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