]> git.wh0rd.org Git - ICEs.git/blob - 198528/ice.ii.4
more
[ICEs.git] / 198528 / ice.ii.4
1 namespace 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
15 namespace boost {
16         template < class T, int N > class array {
17         };
18 template < 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 }
45 using namespace boost;
46 typedef array < float, 3 > particle;
47 typedef vector < particle > particle_array;
48 main()
49 {
50         float field[512][512][512];
51         particle_array particles;
52 #pragma omp parallel private(field, particles)
53         while (true) {
54         }
55 }