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