1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // <queue> 11 12 // template <class T, class Container = vector<T>, 13 // class Compare = less<typename Container::value_type>> 14 // class priority_queue 15 // { 16 // public: 17 // typedef Container container_type; 18 // typedef typename container_type::value_type value_type; 19 // typedef typename container_type::reference reference; 20 // typedef typename container_type::const_reference const_reference; 21 // typedef typename container_type::size_type size_type; 22 // 23 // protected: 24 // container_type c; 25 // Compare comp; 26 27 #include <stack> 28 #include <cassert> 29 #include <type_traits> 30 31 int main() 32 { 33 // LWG#2566 says that the first template param must match the second one's value type 34 std::stack<double, std::deque<int>> t; 35 } 36