Un petit exemple de tableau de taille fixe de boost basé sur le modèle de la STL (boost::array)
#include <iostream>
#include <boost/array.hpp>
#include <iterator>
#include <algorithm>
using namespace std;
struct Init
{
int i;
Init() : i(0) { }
int operator() (int)
{
return i++;
}
};
struct TwoTimes
{
int operator() (int i)
{
return i*2;
}
};
int main()
{
boost::array<int,10> my_array;
transform(my_array.begin(),
my_array.end(),
my_array.begin(),
Init());
copy(my_array.begin(),my_array.end(),ostream_iterator<int>(cout," "));
cout << endl;
transform(my_array.begin(),
my_array.end(),
my_array.begin(),
TwoTimes());
copy(my_array.begin(),my_array.end(),ostream_iterator<int>(cout," "));
return 0;
}
/* Ce programme initialise le tableau avec des valeurs consécutives en partant de 0
* puis transforme le contenu en remplaçant chaque valeur par son double et
* affiche le tout à chaque modification
* /