📄 item.hpp
字号:
#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED#define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED// Copyright Aleksey Gurtovoy 2000-2004//// Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt)//// See http://www.boost.org/libs/mpl for documentation.// $Source: /CVSROOT/CGAL/Packages/Boost/include/boost/mpl/vector/aux_/item.hpp,v $// $Date: 2004/11/20 10:42:27 $// $Revision: 1.1.1.2 $#include <boost/mpl/long.hpp>#include <boost/mpl/void.hpp>#include <boost/mpl/next_prior.hpp>#include <boost/mpl/aux_/type_wrapper.hpp>#include <boost/mpl/aux_/config/typeof.hpp>#include <boost/mpl/aux_/config/ctps.hpp>namespace boost { namespace mpl {#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)template< typename T , typename Base , int at_front = 0 >struct v_item : Base{ typedef typename Base::upper_bound_ index_; typedef typename next<index_>::type upper_bound_; typedef typename next<typename Base::size>::type size; typedef Base base; // agurt 10/sep/04: MWCW <= 9.3 workaround here and below; the compiler // breaks if using declaration comes _before_ the new overload static aux::type_wrapper<T> item_(index_); using Base::item_;};template< typename T , typename Base >struct v_item<T,Base,1> : Base{ typedef typename prior<typename Base::lower_bound_>::type index_; typedef index_ lower_bound_; typedef typename next<typename Base::size>::type size; typedef Base base; static aux::type_wrapper<T> item_(index_); using Base::item_;};// "erasure" itemtemplate< typename Base , int at_front >struct v_mask : Base{ typedef typename prior<typename Base::upper_bound_>::type index_; typedef index_ upper_bound_; typedef typename prior<typename Base::size>::type size; typedef Base base; static aux::type_wrapper<void_> item_(index_); using Base::item_;};template< typename Base >struct v_mask<Base,1> : Base{ typedef typename Base::lower_bound_ index_; typedef typename next<index_>::type lower_bound_; typedef typename prior<typename Base::size>::type size; typedef Base base; static aux::type_wrapper<void_> item_(index_); using Base::item_;};#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES}}#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -