19 int main(
int argc,
char **argv)
28 JParser<> zap(
"Example program to test fixed length array class.");
34 catch(
const exception &error) {
35 FATAL(error.what() << endl);
42 JArray<1, int> array(i0);
51 JArray<2, int> array(i0, i1);
61 typedef JArray<N, int> JArray1_t;
62 typedef JArray<N-1,
int> JArray2_t;
66 for (JArray1_t::iterator i = array.begin(); i != array.end(); ++i) {
72 copy(array.begin(), array.end(), ostream_iterator<int>(cout,
" "));
77 JArray1_t buffer = array + array;
79 for (
int i = 0; i != N; ++i) {
80 ASSERT(2*array[i] == buffer[i]);
85 JArray2_t buffer = array.pop_front();
89 copy(buffer.begin(), buffer.end(), ostream_iterator<int>(cout,
" "));
93 for (
int i = 0; i != N-1; ++i) {
94 ASSERT(array[i+1] == buffer[i]);
99 JArray1_t buffer(array.pop_back(), array[N-1]);
105 JArray2_t buffer = array.pop_back();
109 copy(buffer.begin(), buffer.end(), ostream_iterator<int>(cout,
" "));
113 for (
int i = 0; i != N-1; ++i) {
114 ASSERT(array[i] == buffer[i]);
120 JArray<3, int> array(1, 2, 3);
122 JArray<3, const int> p3(array);
125 copy(p3.begin(), p3.end(), ostream_iterator<int>(cout,
" "));
129 ASSERT(array[0] == p3[0]);
131 JArray<2, const int> p2(p3.pop_front());
134 copy(p2.begin(), p2.end(), ostream_iterator<int>(cout,
" "));
138 ASSERT(array[1] == p2[0]);
140 JArray<1, const int>
p1(p2.pop_front());
143 copy(
p1.begin(),
p1.end(), ostream_iterator<int>(cout,
" "));