Chris@16: /* Chris@101: * Copyright (c) 2012-2014 Glen Joseph Fernandes Chris@16: * glenfe at live dot com Chris@16: * Chris@16: * Distributed under the Boost Software License, Chris@16: * Version 1.0. (See accompanying file LICENSE_1_0.txt Chris@16: * or copy at http://boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: #ifndef BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP Chris@16: #define BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: namespace detail { Chris@101: template Chris@16: struct array_base { Chris@16: typedef typename boost::remove_cv::type type; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_base { Chris@16: typedef typename array_base::type type; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_base { Chris@16: typedef typename array_base::type type; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_total { Chris@16: enum { Chris@16: size = 1 Chris@16: }; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_total { Chris@16: enum { Chris@16: size = N * array_total::size Chris@16: }; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_inner; Chris@101: Chris@101: template Chris@16: struct array_inner { Chris@16: typedef T type; Chris@16: }; Chris@101: Chris@101: template Chris@16: struct array_inner { Chris@16: typedef T type; Chris@16: }; Chris@16: } Chris@16: } Chris@16: Chris@16: #endif