pointers_data_members.hpp

来自「[2005最新C++经典著作].C++ Programming.新手必看的学VC」· HPP 代码 · 共 45 行

HPP
45
字号
// Copyright (C) 2004 Arkadiy Vertleyb// Use, modification and distribution is subject to the Boost Software// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)#ifndef BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED#define BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED#include <boost/spirit/typeof/concatenate.hpp>#include <boost/spirit/typeof/encode_decode.hpp>#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()namespace boost{    namespace type_of    {        namespace        {            enum {PTR_DATA_MEM_ID = BOOST_TYPEOF_UNIQUE_ID()};            template<class V, class P0, class P1>             struct encode_type_impl<V, P0 P1::*>            {                typedef BOOST_TYPEOF_ENCODE_PARAMS(2, PTR_DATA_MEM_ID) type;            };            template<class Iter>             struct decode_type_impl<mpl::size_t<PTR_DATA_MEM_ID>, Iter>            {                typedef Iter iter0;                BOOST_TYPEOF_DECODE_PARAMS(2)                template<class T> struct workaround{                    typedef p0 T::* type;                };                typedef typename workaround<p1>::type type;                typedef iter2 iter;            };        }    }}#endif//BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?