Archivo de encabezado de la biblioteca estándar <queue>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de contenedores.
Incluye | ||
<initializer_list>(C++11) | ||
Clases | ||
Adapta un contenedor para proporcionar una cola (estructura de datos PEPS o FIFO, del inglés first in, first out). (plantilla de clase) | ||
Adapta un contenedor para proporcionar una cola de prioridad. (plantilla de clase) | ||
Especializa el rasgo de tipo std::uses_allocator. (plantilla de función) | ||
Especializa el rasgo de tipo std::uses_allocator. (plantilla de función) | ||
Funciones | ||
Compara lexicográficamente los valores de queue. (plantilla de función) | ||
(C++11) | Especializa el algoritmo std::swap. (plantilla de función) | |
Especializa el algoritmo std::swap. (plantilla de función) |
[editar]Sinopsis
#include <initializer_list> namespace std {template<typename T, typename Container = deque<T>>class queue; template<typename T, typename Container = vector<T>, typename Compare = less<typename Container::value_type>>class priority_queue; template<typename T, typename Container>bool operator==(const queue<T, Container>& x,const queue<T, Container>& y);template<typename T, typename Container>bool operator!=(const queue<T, Container>& x,const queue<T, Container>& y); template<typename T, typename Container>bool operator<(const queue<T, Container>& x,const queue<T, Container>& y);template<typename T, typename Container>bool operator>(const queue<T, Container>& x,const queue<T, Container>& y);template<typename T, typename Container>bool operator>=(const queue<T, Container>& x,const queue<T, Container>& y);template<typename T, typename Container>bool operator<=(const queue<T, Container>& x,const queue<T, Container>& y); template<typename T, typename Container>void swap(queue<T, Container>& x, queue<T, Container>& y)noexcept(noexcept(x.swap(y))); template<typename T, typename Container, typename Compare>void swap(priority_queue<T, Container, Compare>& x, priority_queue<T, Container, Compare>& y)noexcept(noexcept(x.swap(y))); template<typename T, typename Container, typename Alloc>struct uses_allocator<queue<T, Container>, Alloc>: uses_allocator<Container, Alloc>::type{}; }
[editar]Plantilla de clase std::queue
template<typename T, typename Container = deque<T>>class queue {public:typedeftypename Container::value_type value_type;typedeftypename Container::reference reference;typedeftypename Container::const_reference const_reference;typedeftypename Container::size_type size_type;typedef Container container_type;protected: Container c;public:explicit queue(const Container&);explicit queue(Container&&= Container());template<typename Alloc>explicit queue(const Alloc&);template<typename Alloc> queue(const Container&, const Alloc&);template<typename Alloc> queue(Container&&, const Alloc&);template<typename Alloc> queue(const queue&, const Alloc&);template<typename Alloc> queue(queue&&, const Alloc&); bool empty()const{return c.empty();} size_type size()const{return c.size();} reference front(){return c.front();} const_reference front()const{return c.front();} reference back(){return c.back();} const_reference back()const{return c.back();}void push(const value_type& x){ c.push_back(x);}void push(value_type&& x){ c.push_back(std::move(x));}template<typename... Args>void emplace(Args&&... args){ c.emplace_back(std::forward<Args>(args)...);}void pop(){ c.pop_front();}void swap(queue& q)noexcept(noexcept(swap(c, q.c))){usingstd::swap; swap(c, q.c);}};
[editar]Plantilla de clase std::priority_queue
template<typename T, typename Container = vector<T>, typename Compare = less<typename Container::value_type>>class priority_queue {public:typedeftypename Container::value_type value_type;typedeftypename Container::reference reference;typedeftypename Container::const_reference const_reference;typedeftypename Container::size_type size_type;typedef Container container_type;protected: Container c; Compare comp;public: priority_queue(const Compare& x, const Container&);explicit priority_queue(const Compare& x = Compare(), Container&&= Container());template<typename InputIterator> priority_queue(InputIterator first, InputIterator last, const Compare& x, const Container&);template<typename InputIterator> priority_queue(InputIterator first, InputIterator last, const Compare& x = Compare(), Container&&= Container());template<typename Alloc>explicit priority_queue(const Alloc&);template<typename Alloc> priority_queue(const Compare&, const Alloc&);template<typename Alloc> priority_queue(const Compare&, const Container&, const Alloc&);template<typename Alloc> priority_queue(const Compare&, Container&&, const Alloc&);template<typename Alloc> priority_queue(const priority_queue&, const Alloc&);template<typename Alloc> priority_queue(priority_queue&&, const Alloc&); bool empty()const{return c.empty();} size_type size()const{return c.size();} const_reference top()const{return c.front();}void push(const value_type& x);void push(value_type&& x);template<typename... Args>void emplace(Args&&... args);void pop();void swap(priority_queue& q)noexcept(noexcept(swap(c, q.c))&&noexcept(swap(comp, q.comp))){usingstd::swap; swap(c, q.c); swap(comp, q.comp);}};