1 // 2 // Copyright (c) 2009 by Rutger ter Borg 3 // 4 // Distributed under the Boost Software License, Version 1.0. 5 // (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 // 8 9 #ifndef BOOST_NUMERIC_BINDINGS_HAS_LINEAR_ARRAY_HPP 10 #define BOOST_NUMERIC_BINDINGS_HAS_LINEAR_ARRAY_HPP 11 12 #include <boost/numeric/bindings/detail/property_map.hpp> 13 #include <boost/numeric/bindings/tag.hpp> 14 15 namespace boost { 16 namespace numeric { 17 namespace bindings { 18 19 template< typename T, typename Enable = void > 20 struct has_linear_array: mpl::false_ {}; 21 22 template< typename T > 23 struct has_linear_array< 24 T, 25 typename boost::enable_if< detail::is_adaptable<T> >::type >: 26 detail::is_same_at< T, tag::data_structure, tag::linear_array > {}; 27 28 } // namespace bindings 29 } // namespace numeric 30 } // namespace boost 31 32 #endif 33