#include <iomanip>
#include <iostream>
#include <list>
#include <vector>
using namespace std;
template <class T>
void print(T& c){
for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
std::cout << *i << endl;
}
}
int main( )
{
const int data[] = { 1, 1, 2, 3, 5 };
list<int> original( data,data + sizeof( data ) / sizeof( data[0] ) );
// make a vector from a list
vector<int> vector_copy( original.begin(), original.end() );
// make a list from a list
list<int> list_copy( original );
// make a list of floats from a list of ints
list<float> list_float( original.begin(), original.end() );
// show results
print( original);
print( vector_copy);
print( list_copy);
cout << fixed << setprecision( 1 );
print( list_float );
}