deduced_dependent_predicate.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 110 行
CPP
110 行
// Copyright Daniel Wallin 2006. Use, modification and distribution is// subject to 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)#include <boost/parameter/parameters.hpp>#include <boost/parameter/name.hpp>#include <boost/parameter/binding.hpp>#include <boost/type_traits.hpp>#include "deduced.hpp"namespace parameter = boost::parameter;namespace mpl = boost::mpl;BOOST_PARAMETER_NAME(x)BOOST_PARAMETER_NAME(y)BOOST_PARAMETER_NAME(z)int main(){ using namespace parameter; using boost::is_same; using boost::remove_reference; using boost::add_reference; check< parameters< tag::x , optional< deduced<tag::y>#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) , is_same< mpl::_1 , remove_reference<binding<mpl::_2,tag::x> > > #else , is_same< add_reference<mpl::_1> , binding<mpl::_2,tag::x> > #endif > > >( (_x = 0, _y = 1) , 0 , 1 ); check< parameters< tag::x , optional< deduced<tag::y>#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) , is_same< mpl::_1 , remove_reference<binding<mpl::_2,tag::x> > > #else , is_same< add_reference<mpl::_1> , binding<mpl::_2,tag::x> > #endif > > >( (_x = 0U, _y = 1U) , 0U , 1U ); check< parameters< tag::x , optional< deduced<tag::y> , is_same< mpl::_1 , tag::x::_ > > > >( (_x = 0U, _y = 1U) , 0U , 1U ); check< parameters< tag::x , optional< deduced<tag::y> , is_same< mpl::_1 , tag::x::_1 > > > >( (_x = 0U, _y = 1U) , 0U , 1U ); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?