SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions
RWTQueue< T, C > Class Template Reference

A queue of templatized objects that supports user-specified containers. More...

#include <rw/tqueue.h>

Public Member Functions

 RWTQueue ()
 
 RWTQueue (const C &rhs)
 
 RWTQueue (const RWTQueue &rhs)
 
 RWTQueue (C &&rhs)
 
 RWTQueue (RWTQueue &&rhs)
 
void clear ()
 
size_t entries () const
 
first () const
 
get ()
 
void insert (const T &a)
 
void insert (T &&a)
 
bool isEmpty () const
 
last () const
 
RWTQueueoperator= (const RWTQueue &rhs)
 
RWTQueueoperator= (RWTQueue &&rhs)
 
void swap (RWTQueue< T, C > &rhs)
 

Detailed Description

template<class T, class C>
class RWTQueue< T, C >

Class RWTQueue represents a parameterized queue. Not only can the type of object inserted into the queue be parameterized, but also the implementation.

Parameter T represents the type of object in the queue, either a class or built-in type. The class T must have:

Parameter C represents the class used for implementation. The class C must provide the following interface (or equivalent):

These methods must behave in a manner that is consistent with that of RWTValDlist for this class to function as intended.

Useful choices for C are RWTValSlist or RWTValDlist. Vectors, such as RWTValOrderedVector, can also be used, but tend to be less efficient at removing an object from the front of the queue.

Synopsis
#include <rw/tqueue.h>
Persistence
None
Example
#include <iostream>
#include <rw/tqueue.h>
#include <rw/cstring.h>
#include <rw/tvslist.h>
int main()
{
q.insert("one"); // Type conversion occurs
q.insert("two");
q.insert("three");
while (!q.isEmpty()) {
std::cout << q.get() << std::endl;
}
return 0;
}

Program output

one
two
three

Constructor & Destructor Documentation

template<class T, class C>
RWTQueue< T, C >::RWTQueue ( )
inline

Constructs a queue.

template<class T, class C>
RWTQueue< T, C >::RWTQueue ( const C &  rhs)
inlineexplicit

Constructs a queue from the container rhs.

template<class T, class C>
RWTQueue< T, C >::RWTQueue ( const RWTQueue< T, C > &  rhs)
inline

Copy constructor. Constructs self as a copy of rhs.

template<class T, class C>
RWTQueue< T, C >::RWTQueue ( C &&  rhs)
inlineexplicit

Move constructor. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
RWTQueue< T, C >::RWTQueue ( RWTQueue< T, C > &&  rhs)
inline

Move constructor. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.

Member Function Documentation

template<class T, class C>
void RWTQueue< T, C >::clear ( void  )
inline

Calls C::clear() on the underlying container.

template<class T, class C>
size_t RWTQueue< T, C >::entries ( void  ) const
inline

Returns the result of calling C::entries() on the underlying container.

template<class T, class C>
T RWTQueue< T, C >::first ( void  ) const
inline

Returns the result of calling C::first() on the underlying container.

template<class T, class C>
T RWTQueue< T, C >::get ( void  )
inline

Returns the result of calling C::removeFirst() on the underlying container.

template<class T, class C>
void RWTQueue< T, C >::insert ( const T &  a)
inline

Calls C::append(a) on the underlying container.

template<class T, class C>
void RWTQueue< T, C >::insert ( T &&  a)
inline

Calls C::append(a) on the underlying container.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
bool RWTQueue< T, C >::isEmpty ( ) const
inline

Returns the result of calling C::isEmpty() on the underlying container.

template<class T, class C>
T RWTQueue< T, C >::last ( void  ) const
inline

Returns the result of calling C::last() on the underlying container.

template<class T, class C>
RWTQueue& RWTQueue< T, C >::operator= ( const RWTQueue< T, C > &  rhs)
inline

Assignment operator. Sets self to a copy of rhs.

template<class T, class C>
RWTQueue& RWTQueue< T, C >::operator= ( RWTQueue< T, C > &&  rhs)
inline

Move assignment. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
void RWTQueue< T, C >::swap ( RWTQueue< T, C > &  rhs)
inline

Swaps the data owned by self with the data owned by rhs.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.