12345678910111213141516171819202122232425262728293031323334353637 |
- #if defined(_MSC_VER) && _MSC_VER == 1800 && _MSC_FULL_VER < 180030723
- #error "VS 2013 safely supports this only with Update 3 or greater"
- #endif
- // Dummy implementation. Test only the compiler feature.
- namespace std {
- typedef decltype(sizeof(int)) size_t;
- template <class _E>
- class initializer_list
- {
- const _E* __begin_;
- size_t __size_;
- #ifdef __INTEL_COMPILER
- // The Intel compiler internally asserts the constructor overloads, so
- // reproduce the constructor used in its <initializer_list> header.
- initializer_list(const _E*, size_t) {}
- #else
- public:
- template <typename T1, typename T2>
- initializer_list(T1, T2)
- {
- }
- #endif
- };
- }
- template <typename T>
- struct A
- {
- A(std::initializer_list<T>) {}
- };
- void someFunc()
- {
- A<int> as = { 1, 2, 3, 4 };
- }
|