[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 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]") 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(std​::​forward(rg))[.](#4.sentence-1)