//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // template // class initializer_list // { // public: // typedef E value_type; // typedef const E& reference; // typedef const E& const_reference; // typedef size_t size_type; // // typedef const E* iterator; // typedef const E* const_iterator; #include #include struct A {}; int main() { #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS static_assert((std::is_same::value_type, A>::value), ""); static_assert((std::is_same::reference, const A&>::value), ""); static_assert((std::is_same::const_reference, const A&>::value), ""); static_assert((std::is_same::size_type, std::size_t>::value), ""); static_assert((std::is_same::iterator, const A*>::value), ""); static_assert((std::is_same::const_iterator, const A*>::value), ""); #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS }