Stan Blakey
2016-12-06 13:42:04 UTC
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());
}
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());
}