56 lines
1.1 KiB
C
56 lines
1.1 KiB
C
/* { dg-do compile } */
|
|
/* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */
|
|
/* { dg-require-effective-target scheduling } */
|
|
|
|
template < class _T1, class _T2 > struct pair
|
|
{
|
|
_T1 first;
|
|
_T2 second;
|
|
pair (_T1 & __a, _T2 & __b)
|
|
:first (__a), second (__b)
|
|
{ }
|
|
}
|
|
;
|
|
template < typename _Tp > struct _Vector_base
|
|
{
|
|
~_Vector_base ();
|
|
}
|
|
;
|
|
template < typename _Tp>struct vector
|
|
: _Vector_base < _Tp>
|
|
{
|
|
template < typename _ForwardIterator > inline void _Destroy (_ForwardIterator) { }
|
|
_Tp * _M_finish;
|
|
~vector ()
|
|
{
|
|
_Destroy ( this->_M_finish);
|
|
}
|
|
} ;
|
|
template < typename ITV > struct Box
|
|
{
|
|
Box (const Box &);
|
|
Box ();
|
|
typedef vector < ITV > Sequence;
|
|
Sequence seq;
|
|
};
|
|
template < typename D > struct Powerset
|
|
{
|
|
Powerset (const Powerset &y) :reduced (y.reduced) {}
|
|
bool reduced;
|
|
} ;
|
|
template < typename PS > struct Pointset_Powerset :Powerset < int >
|
|
{
|
|
Pointset_Powerset ();
|
|
int space_dim;
|
|
} ;
|
|
pair
|
|
<
|
|
Box<int>,
|
|
Pointset_Powerset < int > >
|
|
linear_partition ()
|
|
{
|
|
Pointset_Powerset < int > r ;
|
|
Box<int> qq;
|
|
return pair<Box<int>,Pointset_Powerset < int > > (qq, r);
|
|
}
|