Files
assimp/test/unit/BoostWorkaround/tupletest.cpp
klickverbot ac8479f542 Moved private headers to code/ as discussed; removed boost::random workaround which was no longer needed; CMake cleanup part two (Boost detection, …).
Please be quick to suspect this commit if the build should break on Windows/MSVC.

(Again, sorry for the large commit, but I didnt want to flood the commit log with my git-style tiny commits.)

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@577 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2010-03-03 21:48:23 +00:00

34 lines
819 B
C++

#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;
}