32 #ifndef _GLIBCXX_PARALLEL_QUEUE_H
33 #define _GLIBCXX_PARALLEL_QUEUE_H 1
40 #define _GLIBCXX_VOLATILE volatile
42 namespace __gnu_parallel
70 this->max_size = max_size;
71 base =
new T[max_size];
85 lcas_t former_borders = borders;
86 int former_front, former_back;
87 decode2(former_borders, former_front, former_back);
88 *(base + former_front % max_size) = t;
89 #if _GLIBCXX_ASSERTIONS
91 _GLIBCXX_PARALLEL_ASSERT(((former_front + 1) - former_back)
102 int former_front, former_back;
104 decode2(borders, former_front, former_back);
105 while (former_front > former_back)
112 t = *(base + (former_front - 1) % max_size);
116 decode2(borders, former_front, former_back);
126 int former_front, former_back;
128 decode2(borders, former_front, former_back);
129 while (former_front > former_back)
136 t = *(base + former_back % max_size);
140 decode2(borders, former_front, former_back);
147 #undef _GLIBCXX_VOLATILE