📄 pointers_data_members.hpp
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -