I am trying to compile using clang 3.4 and -std=c++11.

With the -std=c++11 it compiles and runs without any issue.
With -std=c++11 I get

boost_1_60_0\boost/fusion/container/vector/vector.hpp:126:20: error: no template named 'forward' in namespace 'std'; did you mean 'advance_detail::forward'?

return std::forward<result>(*advance_c<N>(begin(seq)));

and many similar errors.

I have tried all the boost

BOOST_NO_CXX11_HDR_ macros but not found one that resolves this issue.

I don't have any choice about compiler version or library version due to other constraints.

Any suggestions appreciated,

Stan



#include <boost/fusion/tuple.hpp>

#include <boost/fusion/algorithm.hpp>

#include <string>

#include <iostream>

 

using namespace boost::fusion;

struct print

{

template <typename T>

void operator()(const T &t) const

{

std::cout << std::boolalpha << t << '\n';

}

};

int main()

{

typedef tuple<int, std::string, bool, double> tuple_type;

tuple_type t(10,"Boost", true, 3.14);

for_each(t, print());

}