Zum Inhalt springen

C++-Referenz/ Standardbibliothek/ Container-Klassen/ queue

Aus Wikibooks
Alte Seite

Die Arbeit am Buch »C++-Referenz« wurde vom Hauptautor eingestellt. Ein Lehrbuch zum Thema C++ ist unter »C++-Programmierung« zu finden. Eine sehr umfangreiche und gute Referenz gibt es unter cppreference.com.

Diese Seite beschreibt C++98, einen stark veralteten Standard. Aktuelle Referenz.

// Header: queue
template <typename T, typename Container = deque<T> >
class queue{
public:
    typedef typename Container::value_type value_type;
    typedef typename Container::size_type  size_type;
    typedef typename Container             container_type;

protected:
    Container c;

public:
    explicit queue(Container const& = Container());

    bool      empty()const { return c.empty(); }
    size_type size()const  { return c.size(); }

    value_type&       front()      { return c.front(); }
    value_type const& front()const { return c.front(); }
    value_type&       back()       { return c.back(); }
    value_type const& back()const  { return c.back(); }

    void push(value_type const& x) { c.push_back(x); }
    void pop()                     { c.pop_front(); }
};

// Vergleiche
template <typename T, typename Container>
bool operator==(queue<T, Container> const&  x, queue<T, Container> const&  y);

template <typename T, typename Container>
bool operator< (queue<T, Container> const&  x, queue<T, Container> const&  y);

template <typename T, typename Container>
bool operator!=(queue<T, Container> const&  x, queue<T, Container> const&  y);

template <typename T, typename Container>
bool operator> (queue<T, Container> const&  x, queue<T, Container> const&  y);

template <typename T, typename Container>
bool operator>=(queue<T, Container> const&  x, queue<T, Container> const&  y);

template <typename T, typename Container>
bool operator<=(queue<T, Container> const&  x, queue<T, Container> const&  y);