123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- // (C) Copyright John Maddock 2010.
- // Use, modification and distribution are subject to the
- // Boost Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- #ifndef BOOST_MATH_TUPLE_HPP_INCLUDED
- # define BOOST_MATH_TUPLE_HPP_INCLUDED
- # include <boost/config.hpp>
- #ifndef BOOST_NO_CXX11_HDR_TUPLE
- #include <tuple>
- namespace boost{ namespace math{
- using ::std::tuple;
- // [6.1.3.2] Tuple creation functions
- using ::std::ignore;
- using ::std::make_tuple;
- using ::std::tie;
- using ::std::get;
- // [6.1.3.3] Tuple helper classes
- using ::std::tuple_size;
- using ::std::tuple_element;
- }}
- #elif (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || defined(__IBMCPP__)
- #include <boost/tuple/tuple.hpp>
- #include <boost/tuple/tuple_comparison.hpp>
- #include <boost/type_traits/integral_constant.hpp>
- namespace boost{ namespace math{
- using ::boost::tuple;
- // [6.1.3.2] Tuple creation functions
- using ::boost::tuples::ignore;
- using ::boost::make_tuple;
- using ::boost::tie;
- // [6.1.3.3] Tuple helper classes
- template <class T>
- struct tuple_size
- : public ::boost::integral_constant
- < ::std::size_t, ::boost::tuples::length<T>::value>
- {};
- template < int I, class T>
- struct tuple_element
- {
- typedef typename boost::tuples::element<I,T>::type type;
- };
- #if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
- // [6.1.3.4] Element access
- using ::boost::get;
- #endif
- } } // namespaces
- #else
- #include <boost/fusion/include/tuple.hpp>
- #include <boost/fusion/include/std_pair.hpp>
- namespace boost{ namespace math{
- using ::boost::fusion::tuple;
- // [6.1.3.2] Tuple creation functions
- using ::boost::fusion::ignore;
- using ::boost::fusion::make_tuple;
- using ::boost::fusion::tie;
- using ::boost::fusion::get;
- // [6.1.3.3] Tuple helper classes
- using ::boost::fusion::tuple_size;
- using ::boost::fusion::tuple_element;
- }}
- #endif
- #endif
|