std::printf("GLIBCXX: %d\n",__GLIBCXX__);
produces
GLIBCXX: 20070514
Below is the full source with all the macros I have on:
Stan
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
#define BOOST_NO_CXX11_HDR_ATOMIC
#define BOOST_NO_CXX11_HDR_ARRAY
#define BOOST_NO_CXX11_HDR_CHRONO
#define BOOST_NO_CXX11_HDR_CODECVT
#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
#define BOOST_NO_CXX11_HDR_FUNCTIONAL
#define BOOST_NO_CXX11_HDR_FUTURE
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
#define BOOST_NO_CXX11_HDR_MUTEX
#define BOOST_NO_CXX11_HDR_RANDOM
#define BOOST_NO_CXX11_HDR_RATIO
#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
#define BOOST_NO_CXX11_HDR_THREAD
#define BOOST_NO_CXX11_HDR_TUPLE
#define BOOST_NO_CXX11_HDR_TYPEINDEX
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
#define BOOST_NO_CXX11_NUMERIC_LIMITS
#define BOOST_NO_CXX11_SMART_PTR
#define BOOST_NO_CXX11_STD_UNORDERED
#define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_NO_CXX11_ALLOCATOR
#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
#undef BOOST_FUSION_HAS_VARIADIC_VECTOR
#include <boost/fusion/tuple.hpp>
#include <boost/fusion/algorithm.hpp>
#include <string>
#include <iostream>
#include <cstdio>
using namespace boost::fusion;
struct print
{
template <typename T>
void operator()(const T &t) const
{
std::cout << std::boolalpha << t << '\n';
}
};
int main()
{
#ifdef __GLIBCPP__
std::printf("GLIBCPP: %d\n",__GLIBCPP__);
#endif
#ifdef __GLIBCXX__
std::printf("GLIBCXX: %d\n",__GLIBCXX__);
#endif
typedef tuple<int, std::string, bool, double> tuple_type;
tuple_type t(10,"Boost", true, 3.14);
for_each(t, print());
}
Hi Stan,
Sorry for quite late reply.
On 2016/12/06 22:42, Stan Blakey wrote:
Which line is correct?With the -std=c++11 it compiles and runs without any issue.With -std=c++11 I get
Which standard library (and its version) are you using?boost_1_60_0\boost/fusion/cont
ainer/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.
If your standard library provides `std::forward` and it functions normally, try `BOOST_NO_CXX11_CONSTEXPR`.
Kohei Takahashi
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost- users