/usr/include/boost/math/tools/detail
Edit: /usr/include/boost/math/tools/detail/is_const_iterable.hpp (1399B)
// (C) Copyright John Maddock 2018.
// 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_TOOLS_IS_CONST_ITERABLE_HPP
#define BOOST_MATH_TOOLS_IS_CONST_ITERABLE_HPP
#include
#include
#if !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_SFINAE_EXPR)
#define BOOST_MATH_HAS_IS_CONST_ITERABLE
#include
#include
namespace boost {
namespace math {
namespace tools {
namespace detail {
template
using begin_t = decltype(std::declval().begin());
template
using end_t = decltype(std::declval().end());
template
using const_iterator_t = typename T::const_iterator;
template
struct is_const_iterable
: public boost::integral_constant::value
&& boost::is_detected::value
&& boost::is_detected::value
> {};
} } } }
#endif
#endif // BOOST_MATH_TOOLS_IS_CONST_ITERABLE_HPP