00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "Container/counting-iterator.h"
00020
00021 #include <algorithm>
00022 #include <iostream>
00023
00024 namespace GrAL {
00025 template class counting_output_iterator<int>;
00026 }
00027
00028
00029
00030 int main()
00031 {
00032 int a[] = { 1, 2, 3};
00033 int n;
00034
00035 n = * std::copy(a+0, a+0, GrAL::counter(0));
00036 std::cout << n << " elements copied " << std::endl;
00037
00038 n = * std::copy(a+0, a+3, GrAL::counter(0));
00039 std::cout << n << " elements copied " << std::endl;
00040
00041 int b[] = { 3, 4 };
00042 n = * std::copy(a+0, a+3, std::copy(b+0, b+2, GrAL::counter(0)));
00043 std::cout << n << " elements copied " << std::endl;
00044
00045
00046 n = * std::set_difference(a+0, a+3,
00047 b+0, b+2,
00048 GrAL::counter(0));
00049 std::cout << n << " elements in a \\ b " << std::endl;
00050 n = * std::set_difference(a+0, a+3,
00051 a+0, a+3,
00052 GrAL::counter(0));
00053 std::cout << n << " elements in a \\ a " << std::endl;
00054
00055
00056
00057 }
00058