|
- #include "BoostWorkaround/boost/tuple/tuple.hpp"
-
- struct another
- {int dummy;};
-
- boost::tuple<unsigned,unsigned,unsigned> first;
- boost::tuple<int,float,double,bool,another> second;
- boost::tuple<> third;
- boost::tuple<float,float,float> last;
-
- void test () {
-
- // Implicit conversion
- first = boost::make_tuple(4,4,4);
-
- // FIXME: Explicit conversion not really required yet
- last = (boost::tuple<float,float,float>)boost::make_tuple(4.,4.,4.);
-
- // Non-const access
- first.get<0>() = 1;
- first.get<1>() = 2;
- first.get<2>() = 3;
-
- float f = last.get<2>();
- bool b = second.get<3>();
-
- // Const cases
- const boost::tuple<unsigned,unsigned,unsigned> constant = boost::make_tuple(4,4,4);
- first.get<0>() = constant.get<0>();
-
- // Direct assignment w. explicit conversion
- last = first;
- }
|