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

Version Path
passenger-5.0.24 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.23 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.22 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-4.0.60 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.21 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.20 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.19 src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.18 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.17 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.16 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.15 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.14 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.13 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.11 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.10 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.9 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.8 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.7 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.6 ext/boost/smart_ptr/detail/array_traits.hpp
passenger-5.0.5 ext/boost/smart_ptr/detail/array_traits.hpp