3 template <bool, typename> struct B;
4 template <typename _Tp> struct B<true, _Tp> { typedef _Tp type; };
6 template <typename> struct D {
8 template <typename _Alloc2> struct F {
9 static const bool value = 0;
12 template <typename _Alloc2>
13 typename B<F<_Alloc2>::value, _Alloc2>::type _S_select(_Alloc2);
14 template <typename _Alloc2>
16 typename B<!F<_Alloc2>::value, _Alloc2>::type _S_select(_Alloc2);
18 template <typename _Alloc>
19 template <typename _Alloc2>
20 const bool D<_Alloc>::F<_Alloc2>::value;
22 template <typename> class vector {
25 vector(vector &) : vector(D<bool>::_S_select((bool)0)) {}