00001 /* 00002 * 00003 * Copyright (c) Kresimir Fresl 2003 00004 * 00005 * Distributed under the Boost Software License, Version 1.0. 00006 * (See accompanying file LICENSE_1_0.txt or copy at 00007 * http://www.boost.org/LICENSE_1_0.txt) 00008 * 00009 * Author acknowledges the support of the Faculty of Civil Engineering, 00010 * University of Zagreb, Croatia. 00011 * 00012 */ 00013 00014 #ifndef BOOST_NUMERIC_BINDINGS_TRAITS_DETAIL_ARRAY_HPP 00015 #define BOOST_NUMERIC_BINDINGS_TRAITS_DETAIL_ARRAY_HPP 00016 00017 #include <boost/numeric/bindings/traits/vector_traits.hpp> 00018 00019 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS 00020 00021 #include <boost/numeric/bindings/traits/detail/array_impl.hpp> 00022 00023 namespace boost { namespace numeric { namespace bindings { namespace traits { 00024 00025 template <typename T> 00026 struct vector_traits<detail::array<T> > { 00027 typedef T value_type; 00028 typedef T* pointer; 00029 00030 static pointer storage (detail::array<T>& a) { return a.storage(); } 00031 static int size (detail::array<T>& a) { return a.size(); } 00032 }; 00033 00034 00035 }}}} 00036 00037 #endif // BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS 00038 00039 #endif // BOOST_NUMERIC_BINDINGS_TRAITS_DETAIL_ARRAY_HPP