1 | #ifndef VECTOR |
2 | #define VECTOR |
3 | template <bool, typename> struct B; |
4 | template <typename _Tp> struct B<true, _Tp> { typedef _Tp type; }; |
5 | namespace std { |
6 | template <typename> struct D { |
7 | |
8 | template <typename _Alloc2> struct F { |
9 | static const bool value = 0; |
10 | }; |
11 | |
12 | template <typename _Alloc2> |
13 | typename B<F<_Alloc2>::value, _Alloc2>::type _S_select(_Alloc2); |
14 | template <typename _Alloc2> |
15 | static |
16 | typename B<!F<_Alloc2>::value, _Alloc2>::type _S_select(_Alloc2); |
17 | }; |
18 | template <typename _Alloc> |
19 | template <typename _Alloc2> |
20 | const bool D<_Alloc>::F<_Alloc2>::value; |
21 | |
22 | template <typename> class vector { |
23 | public: |
24 | vector(int); |
25 | vector(vector &) : vector(D<bool>::_S_select((bool)0)) {} |
26 | }; |
27 | } |
28 | #endif // VECTOR |