📄 pp_signature_impl_spec.inl
字号:
// (C) Copyright 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).// Preprocessed code, do not edit manually !namespace boost { namespace function_types { namespace detail {template<typename T>struct signature_impl : conditioned_transmuted_signature_base < signature_impl<T*>, T , function_pointer, plain_function , nullary_signature_base >{ typedef function_type_signature<T> type;};template<typename T>struct signature_impl< T& > : conditioned_transmuted_signature_base < signature_impl<T*>, T& , function_pointer, function_reference , nullary_signature_base >{ typedef function_type_signature<T&> type;};template<typename T>struct signature_impl< T* > : nullary_signature_base{ typedef function_type_signature<T*> type;};template< typename R >struct signature_impl< R ( * ) ( ) >{ typedef R ( * representee ) ( ); typedef non_variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector1 < R > types;};template< typename R >struct signature_impl< R ( * ) ( ... ) >{ typedef R ( * representee ) ( ... ); typedef variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector1 < R > types;};template< typename R , typename T0 >struct signature_impl< R ( * ) ( T0 ) >{ typedef R ( * representee ) ( T0 ); typedef non_variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( * ) ( T0 ... ) >{ typedef R ( * representee ) ( T0 ... ); typedef variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ) >{ typedef R ( T0::* representee ) ( ); typedef non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ... ) >{ typedef R ( T0::* representee ) ( ... ); typedef variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ) const >{ typedef R ( T0::* representee ) ( ) const; typedef const_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ... ) const >{ typedef R ( T0::* representee ) ( ... ) const; typedef const_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ) volatile >{ typedef R ( T0::* representee ) ( ) volatile; typedef volatile_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ... ) volatile >{ typedef R ( T0::* representee ) ( ... ) volatile; typedef volatile_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ) const volatile >{ typedef R ( T0::* representee ) ( ) const volatile; typedef const_volatile_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 >struct signature_impl< R ( T0::* ) ( ... ) const volatile >{ typedef R ( T0::* representee ) ( ... ) const volatile; typedef const_volatile_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 0 > arity; typedef mpl::vector2 < R , T0 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( * ) ( T0 , T1 ) >{ typedef R ( * representee ) ( T0 , T1 ); typedef non_variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 2 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( * ) ( T0 , T1 ... ) >{ typedef R ( * representee ) ( T0 , T1 ... ); typedef variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 2 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ) >{ typedef R ( T0::* representee ) ( T1 ); typedef non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ... ) >{ typedef R ( T0::* representee ) ( T1 ... ); typedef variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ) const >{ typedef R ( T0::* representee ) ( T1 ) const; typedef const_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ... ) const >{ typedef R ( T0::* representee ) ( T1 ... ) const; typedef const_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ) volatile >{ typedef R ( T0::* representee ) ( T1 ) volatile; typedef volatile_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ... ) volatile >{ typedef R ( T0::* representee ) ( T1 ... ) volatile; typedef volatile_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ) const volatile >{ typedef R ( T0::* representee ) ( T1 ) const volatile; typedef const_volatile_non_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 >struct signature_impl< R ( T0::* ) ( T1 ... ) const volatile >{ typedef R ( T0::* representee ) ( T1 ... ) const volatile; typedef const_volatile_variadic_defaultcall_member_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 1 > arity; typedef mpl::vector3 < R , T0 , T1 > types;};template< typename R , typename T0 , typename T1 , typename T2 >struct signature_impl< R ( * ) ( T0 , T1 , T2 ) >{ typedef R ( * representee ) ( T0 , T1 , T2 ); typedef non_variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag; typedef mpl::size_t< 3 > arity; typedef mpl::vector4 < R , T0 , T1 , T2 > types;};template< typename R , typename T0 , typename T1 , typename T2 >struct signature_impl< R ( * ) ( T0 , T1 , T2 ... ) >{ typedef R ( * representee ) ( T0 , T1 , T2 ... ); typedef variadic_defaultcall_function_pointer kind; typedef function_type_signature< representee > type; typedef signature_mpl_sequence_tag tag;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -