[queue.cons.alloc] (original) (raw)

23 Containers library [containers]

23.6 Container adaptors [container.adaptors]

23.6.3 Class template queue [queue]

23.6.3.3 Constructors with allocators [queue.cons.alloc]

If uses_allocator_v<container_type, Alloc> is falsethe constructors in this subclause shall not participate in overload resolution.

template<class Alloc> constexpr explicit queue(const Alloc& a);

Effects: Initializes c with a.

template<class Alloc> constexpr queue(const container_type& cont, const Alloc& a);

Effects: Initializes c with cont as the first argument and aas the second argument.

template<class Alloc> constexpr queue(container_type&& cont, const Alloc& a);

Effects: Initializes c with std​::​move(cont) as the first argument and aas the second argument.

template<class Alloc> constexpr queue(const queue& q, const Alloc& a);

Effects: Initializes c with q.c as the first argument and a as the second argument.

template<class Alloc> constexpr queue(queue&& q, const Alloc& a);

Effects: Initializes c with std​::​move(q.c) as the first argument and aas the second argument.

template<class InputIterator, class Alloc> constexpr queue(InputIterator first, InputIterator last, const Alloc& alloc);

Effects: Initializes c withfirst as the first argument,last as the second argument, andalloc as the third argument.

Effects: Initializes c withranges​::​to<Container>(std​::​forward<R>(rg), a).