Sha256: 55b4c5d2d3a9c52a8bf3ac9e322644748b67b136c4857c9d35b53b64bae5e12a
Contents?: true
Size: 1.38 KB
Versions: 65
Compression:
Stored size: 1.38 KB
Contents
/* * Copyright (c) 2012 Glen Joseph Fernandes * glenfe at live dot com * * Distributed under the Boost Software License, * Version 1.0. (See accompanying file LICENSE_1_0.txt * or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP #define BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP #include <boost/type_traits/remove_cv.hpp> namespace boost { namespace detail { template<typename T> struct array_base { typedef typename boost::remove_cv<T>::type type; }; template<typename T> struct array_base<T[]> { typedef typename array_base<T>::type type; }; template<typename T, std::size_t N> struct array_base<T[N]> { typedef typename array_base<T>::type type; }; template<typename T> struct array_total { enum { size = 1 }; }; template<typename T, std::size_t N> struct array_total<T[N]> { enum { size = N * array_total<T>::size }; }; template<typename T> struct array_inner; template<typename T> struct array_inner<T[]> { typedef T type; }; template<typename T, std::size_t N> struct array_inner<T[N]> { typedef T type; }; } } #endif
Version data entries
65 entries across 65 versions & 1 rubygems