initial import
[ICEs.git] / 198528 / ice.ii.4
CommitLineData
45516216 1namespace std {
2 template < typename _Tp > class new_allocator {
3 public:
4 template < typename _Tp1 > struct rebind {
5 typedef new_allocator < _Tp1 > other;
6 };
7 ~new_allocator() throw() {
8 }
9 };
10 template < typename _Tp > class allocator:public new_allocator < _Tp >
11 {
12 };
13}
14
15namespace boost {
16 template < class T, int N > class array {
17 };
18template < typename _Tp, typename _Alloc > struct _Vector_base {
19 typedef typename _Alloc::template rebind <
20 _Tp >::other _Tp_alloc_type;
21 struct _Vector_impl:public _Tp_alloc_type {
22 _Tp *_M_start;
23 _Tp *_M_finish;
24 _Tp *_M_end_of_storage;
25 _Vector_impl(_Tp_alloc_type const
26 &__a):_Tp_alloc_type(__a), _M_start(0),
27 _M_finish(0), _M_end_of_storage(0) {
28 }};
29 public:
30 typedef _Alloc allocator_type;
31 _Vector_base(const allocator_type & __a):_M_impl(__a) {
32 }
33 public:_Vector_impl _M_impl;
34 };
35 template < typename _Tp, typename _Alloc = std::allocator < _Tp > >class vector:protected _Vector_base < _Tp,
36 _Alloc >
37 {
38 typedef _Vector_base < _Tp, _Alloc > _Base;
39 typedef _Alloc allocator_type;
40 public: explicit vector(const allocator_type & __a = allocator_type()):_Base(__a)
41 {
42 }
43 };
44}
45using namespace boost;
46typedef array < float, 3 > particle;
47typedef vector < particle > particle_array;
48main()
49{
50 float field[512][512][512];
51 particle_array particles;
52#pragma omp parallel private(field, particles)
53 while (true) {
54 }
55}