|
9852 | 9852 | queue() : queue(Container()) {}
|
9853 | 9853 | explicit queue(const Container&);
|
9854 | 9854 | explicit queue(Container&&);
|
| 9855 | + template<class InputIterator> queue(InputIterator first, InputIterator last); |
9855 | 9856 | template<class Alloc> explicit queue(const Alloc&);
|
9856 | 9857 | template<class Alloc> queue(const Container&, const Alloc&);
|
9857 | 9858 | template<class Alloc> queue(Container&&, const Alloc&);
|
9858 | 9859 | template<class Alloc> queue(const queue&, const Alloc&);
|
9859 | 9860 | template<class Alloc> queue(queue&&, const Alloc&);
|
| 9861 | + template<class InputIterator, class Alloc> |
| 9862 | + queue(InputIterator first, InputIterator last, const Alloc&); |
9860 | 9863 |
|
9861 | 9864 | [[nodiscard]] bool empty() const { return c.empty(); }
|
9862 | 9865 | size_type size() const { return c.size(); }
|
|
9877 | 9880 | template<class Container>
|
9878 | 9881 | queue(Container) -> queue<typename Container::value_type, Container>;
|
9879 | 9882 |
|
| 9883 | + template<class InputIterator> |
| 9884 | + queue(InputIterator, InputIterator) -> queue<@\exposid{iter-value-type}@<InputIterator>>; |
| 9885 | + |
9880 | 9886 | template<class Container, class Allocator>
|
9881 | 9887 | queue(Container, Allocator) -> queue<typename Container::value_type, Container>;
|
9882 | 9888 |
|
| 9889 | + template<class InputIterator, class Allocator> |
| 9890 | + queue(InputIterator, InputIterator, Allocator) |
| 9891 | + -> queue<@\exposid{iter-value-type}@<InputIterator>, deque<@\exposid{iter-value-type}@<InputIterator>, |
| 9892 | + Allocator>>; |
| 9893 | + |
9883 | 9894 | template<class T, class Container, class Alloc>
|
9884 | 9895 | struct uses_allocator<queue<T, Container>, Alloc>
|
9885 | 9896 | : uses_allocator<Container, Alloc>::type { };
|
|
9908 | 9919 | Initializes \tcode{c} with \tcode{std::move(cont)}.
|
9909 | 9920 | \end{itemdescr}
|
9910 | 9921 |
|
| 9922 | +\begin{itemdecl} |
| 9923 | +template<class InputIterator> |
| 9924 | + queue(InputIterator first, InputIterator last); |
| 9925 | +\end{itemdecl} |
| 9926 | + |
| 9927 | +\begin{itemdescr} |
| 9928 | +\pnum |
| 9929 | +\effects |
| 9930 | +Initializes \tcode{c} with |
| 9931 | +\tcode{first} as the first argument and \tcode{last} as the second argument. |
| 9932 | +\end{itemdescr} |
| 9933 | + |
9911 | 9934 | \rSec3[queue.cons.alloc]{Constructors with allocators}
|
9912 | 9935 |
|
9913 | 9936 | \pnum
|
|
9968 | 9991 | as the second argument.
|
9969 | 9992 | \end{itemdescr}
|
9970 | 9993 |
|
| 9994 | +\begin{itemdecl} |
| 9995 | +template<class InputIterator, class Alloc> |
| 9996 | + queue(InputIterator first, InputIterator last, const Alloc& alloc); |
| 9997 | +\end{itemdecl} |
| 9998 | + |
| 9999 | +\begin{itemdescr} |
| 10000 | +\pnum |
| 10001 | +\effects |
| 10002 | +Initializes \tcode{c} with |
| 10003 | +\tcode{first} as the first argument, |
| 10004 | +\tcode{last} as the second argument, and |
| 10005 | +\tcode{alloc} as the third argument. |
| 10006 | +\end{itemdescr} |
| 10007 | + |
9971 | 10008 | \rSec3[queue.ops]{Operators}
|
9972 | 10009 |
|
9973 | 10010 | \indexlibrarymember{operator==}{queue}%
|
@@ -10535,11 +10572,14 @@
|
10535 | 10572 | stack() : stack(Container()) {}
|
10536 | 10573 | explicit stack(const Container&);
|
10537 | 10574 | explicit stack(Container&&);
|
| 10575 | + template<class InputIterator> stack(InputIterator first, InputIterator last); |
10538 | 10576 | template<class Alloc> explicit stack(const Alloc&);
|
10539 | 10577 | template<class Alloc> stack(const Container&, const Alloc&);
|
10540 | 10578 | template<class Alloc> stack(Container&&, const Alloc&);
|
10541 | 10579 | template<class Alloc> stack(const stack&, const Alloc&);
|
10542 | 10580 | template<class Alloc> stack(stack&&, const Alloc&);
|
| 10581 | + template<class InputIterator, class Alloc> |
| 10582 | + stack(InputIterator first, InputIterator last, const Alloc&); |
10543 | 10583 |
|
10544 | 10584 | [[nodiscard]] bool empty() const { return c.empty(); }
|
10545 | 10585 | size_type size() const { return c.size(); }
|
|
10558 | 10598 | template<class Container>
|
10559 | 10599 | stack(Container) -> stack<typename Container::value_type, Container>;
|
10560 | 10600 |
|
| 10601 | + template<class InputIterator> |
| 10602 | + stack(InputIterator, InputIterator) -> stack<@\exposid{iter-value-type}@<InputIterator>>; |
| 10603 | + |
10561 | 10604 | template<class Container, class Allocator>
|
10562 | 10605 | stack(Container, Allocator) -> stack<typename Container::value_type, Container>;
|
10563 | 10606 |
|
| 10607 | + template<class InputIterator, class Allocator> |
| 10608 | + stack(InputIterator, InputIterator, Allocator) |
| 10609 | + -> stack<@\exposid{iter-value-type}@<InputIterator>, deque<@\exposid{iter-value-type}@<InputIterator>, |
| 10610 | + Allocator>>; |
| 10611 | + |
10564 | 10612 | template<class T, class Container, class Alloc>
|
10565 | 10613 | struct uses_allocator<stack<T, Container>, Alloc>
|
10566 | 10614 | : uses_allocator<Container, Alloc>::type { };
|
|
10591 | 10639 | Initializes \tcode{c} with \tcode{std::move(cont)}.
|
10592 | 10640 | \end{itemdescr}
|
10593 | 10641 |
|
| 10642 | +\indexlibraryctor{stack}% |
| 10643 | +\begin{itemdecl} |
| 10644 | +template<class InputIterator> |
| 10645 | + stack(InputIterator first, InputIterator last); |
| 10646 | +\end{itemdecl} |
| 10647 | + |
| 10648 | +\begin{itemdescr} |
| 10649 | +\pnum |
| 10650 | +\effects |
| 10651 | +Initializes \tcode{c} with |
| 10652 | +\tcode{first} as the first argument and \tcode{last} as the second argument. |
| 10653 | +\end{itemdescr} |
| 10654 | + |
10594 | 10655 | \rSec3[stack.cons.alloc]{Constructors with allocators}
|
10595 | 10656 |
|
10596 | 10657 | \pnum
|
|
10656 | 10717 | as the second argument.
|
10657 | 10718 | \end{itemdescr}
|
10658 | 10719 |
|
| 10720 | +\indexlibraryctor{stack}% |
| 10721 | +\begin{itemdecl} |
| 10722 | +template<class InputIterator, class Alloc> |
| 10723 | + stack(InputIterator first, InputIterator last, const Alloc& alloc); |
| 10724 | +\end{itemdecl} |
| 10725 | + |
| 10726 | +\begin{itemdescr} |
| 10727 | +\pnum |
| 10728 | +\effects |
| 10729 | +Initializes \tcode{c} with |
| 10730 | +\tcode{first} as the first argument, |
| 10731 | +\tcode{last} as the second argument, and |
| 10732 | +\tcode{alloc} as the third argument. |
| 10733 | +\end{itemdescr} |
| 10734 | + |
10659 | 10735 | \rSec3[stack.ops]{Operators}
|
10660 | 10736 |
|
10661 | 10737 | \indexlibrarymember{operator==}{stack}%
|
|
0 commit comments