[stack.cons] # 23 Containers library [[containers]](./#containers) ## 23.6 Container adaptors [[container.adaptors]](container.adaptors#stack.cons) ### 23.6.6 Class template stack [[stack]](stack#cons) #### 23.6.6.3 Constructors [stack.cons] [🔗](#lib:stack,constructor) `constexpr explicit stack(const Container& cont); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16646) *Effects*: Initializes c with cont[.](#1.sentence-1) [🔗](#lib:stack,constructor_) `constexpr explicit stack(Container&& cont); ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16657) *Effects*: Initializes c with std​::​move(cont)[.](#2.sentence-1) [🔗](#lib:stack,constructor__) `template constexpr stack(InputIterator first, InputIterator last); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16669) *Effects*: Initializes c withfirst as the first argument and last as the second argument[.](#3.sentence-1) [🔗](#lib:stack,constructor___) `template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1 Introduction [container.intro.reqmts]") R> constexpr stack(from_range_t, R&& rg); ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L16682) *Effects*: Initializes c with ranges​::​to(std​::​forward(rg))[.](#4.sentence-1)