| 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 |