rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWTQueue< T, C > Class Template Reference
[Traditional Collections]

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

#include <rw/tqueue.h>

List of all members.

Public Member Functions

 RWTQueue ()
 RWTQueue (const RWTQueue &rhs)
 RWTQueue (RWTQueue &&rhs)
RWTQueueoperator= (const RWTQueue &rhs)
RWTQueueoperator= (RWTQueue &&rhs)
void clear ()
size_t entries () const
first () const
get ()
bool isEmpty () const
void insert (const T &a)
void insert (T &&a)
last () const
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. Useful choices are RWTValSlist<T,A> or RWTValDlist<T,A>. Vectors, such as RWTValOrderedVector<T,A>, can also be used, but tend to be less efficient at removing an object from the front of the list.

Synopsis

 #include <rw/tqueue.h>
 RWTQueue<T, C> queue;

Persistence

None

Examples

 #include <iostream>
 #include <rw/tqueue.h>
 #include <rw/cstring.h>
 #include <rw/tvslist.h>

 int main()
 {
     RWTQueue<RWCString, RWTValSlist<RWCString> > q;

     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 RWTQueue< T, C > &  rhs  )  [inline]

Copy constructor. Constructs self as a copy of rhs.

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]

Removes all items from the queue.

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

Returns the number of items in the queue.

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

Returns, but does not remove, the first item in the queue (the earliest item inserted into the queue).

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

Returns and removes the first item in the queue (the earliest item inserted into the queue).

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

Inserts the item a at the end of the queue.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
void RWTQueue< T, C >::insert ( const T &  a  )  [inline]

Inserts the item a at the end of the queue.

template<class T, class C>
bool RWTQueue< T, C >::isEmpty (  )  const [inline]

Returns true if there are no items in the queue, otherwise false.

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

Returns, but does not remove, the last item in the queue (the item most recently inserted into the queue).

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>
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>
void RWTQueue< T, C >::swap ( RWTQueue< T, C > &  rhs  )  [inline]

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

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright 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.
Contact Rogue Wave about documentation or support issues.