[queue.cons]

# 23 Containers library [[containers]](./#containers)

## 23.6 Container adaptors [[container.adaptors]](container.adaptors#queue.cons)

### 23.6.3 Class template queue [[queue]](queue#cons)

#### 23.6.3.2 Constructors [queue.cons]

[ð](#lib:queue,constructor)

`constexpr explicit queue(const Container& cont);
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L15733)

*Effects*: Initializes c with cont[.](#1.sentence-1)

[ð](#lib:queue,constructor_)

`constexpr explicit queue(Container&& cont);
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L15744)

*Effects*: Initializes c with std​::​move(cont)[.](#2.sentence-1)

[ð](#lib:queue,constructor__)

`template<class InputIterator>
  constexpr queue(InputIterator first, InputIterator last);
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L15756)

*Effects*: Initializes c withfirst as the first argument and last as the second argument[.](#3.sentence-1)

[ð](#lib:queue,constructor___)

`template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1 Introduction [container.intro.reqmts]")<T> R>
  constexpr queue(from_range_t, R&& rg);
`

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L15769)

*Effects*: Initializes c with ranges​::​to<Container>(std​::​forward<R>(rg))[.](#4.sentence-1)
