function_type_parameter.hpp

来自「机器人开源项目orocos的源代码」· HPP 代码 · 共 111 行

HPP
111
字号
// (C) Copyright Jonathan Turkanis and Tobias Schwinger//// Use modification and distribution are subject to the boost Software License,// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).#ifndef BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED#define BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED//------------------------------------------------------------------------------#include <cstddef>// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#include <boost/mpl/at.hpp>#include <boost/mpl/plus.hpp>// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#include <boost/function_types/function_type_signature.hpp>//------------------------------------------------------------------------------namespace boost {//------------------------------------------------------------------------------namespace function_types {  namespace detail  {    template<typename S,typename K,typename I> struct parameter_impl      : mpl::at< S, mpl::plus<I,K> >    { };    template<typename S,typename I>     struct parameter_impl<S,no_function,I>    { };  }  template<typename T,typename I> struct function_type_parameter    : detail::parameter_impl      < typename function_type_signature<T>::types      , typename detail::tag_core_type_id        < typename function_type_signature<T>::kind >::type      , I      >  { };  template<typename T, std::size_t I> struct function_type_parameter_c    : detail::parameter_impl      < typename function_type_signature<T>::types      , typename detail::tag_core_type_id        < typename function_type_signature<T>::kind >::type      , mpl::integral_c<long,I>      >  { };}using function_types::function_type_parameter;using function_types::function_type_parameter_c;//------------------------------------------------------------------------------} // namespace ::boost//------------------------------------------------------------------------------#endif // ndef BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED// (C) Copyright Jonathan Turkanis and Tobias Schwinger//// Use modification and distribution are subject to the boost Software License,// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).#ifndef BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED#define BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED//------------------------------------------------------------------------------#include <cstddef>// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#include <boost/mpl/at.hpp>#include <boost/mpl/plus.hpp>// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#include <boost/function_types/function_type_signature.hpp>//------------------------------------------------------------------------------namespace boost {//------------------------------------------------------------------------------namespace function_types {  namespace detail  {    template<typename S,typename K,typename I> struct parameter_impl      : mpl::at< S, mpl::plus<I,K> >    { };    template<typename S,typename I>     struct parameter_impl<S,no_function,I>    { };  }  template<typename T,typename I> struct function_type_parameter    : detail::parameter_impl      < typename function_type_signature<T>::types      , typename detail::tag_core_type_id        < typename function_type_signature<T>::kind >::type      , I      >  { };  template<typename T, std::size_t I> struct function_type_parameter_c    : detail::parameter_impl      < typename function_type_signature<T>::types      , typename detail::tag_core_type_id        < typename function_type_signature<T>::kind >::type      , mpl::integral_c<long,I>      >  { };}using function_types::function_type_parameter;using function_types::function_type_parameter_c;//------------------------------------------------------------------------------} // namespace ::boost//------------------------------------------------------------------------------#endif // ndef BOOST_FT_FUNCTION_TYPE_PARAMETER_HPP_INCLUDED

⌨️ 快捷键说明

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