diff options
Diffstat (limited to '3rdParty/Boost/src/boost/function_types')
4 files changed, 129 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/function_types/function_type.hpp b/3rdParty/Boost/src/boost/function_types/function_type.hpp new file mode 100644 index 0000000..c3b2c96 --- /dev/null +++ b/3rdParty/Boost/src/boost/function_types/function_type.hpp @@ -0,0 +1,29 @@ + +// (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). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED +#define BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED + +#include <boost/function_types/detail/synthesize.hpp> +#include <boost/function_types/detail/to_sequence.hpp> + +namespace boost +{ + namespace function_types + { + template<typename Types, typename Tag = null_tag> struct function_type + : detail::synthesize_func<typename detail::to_sequence<Types>::type, Tag> + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_type,(Types,Tag)) + }; + } + BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_type) +} + +#endif + diff --git a/3rdParty/Boost/src/boost/function_types/is_member_function_pointer.hpp b/3rdParty/Boost/src/boost/function_types/is_member_function_pointer.hpp new file mode 100644 index 0000000..a519035 --- /dev/null +++ b/3rdParty/Boost/src/boost/function_types/is_member_function_pointer.hpp @@ -0,0 +1,33 @@ + +// (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). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED +#define BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED + +#include <boost/mpl/aux_/lambda_support.hpp> +#include <boost/type_traits/detail/template_arity_spec.hpp> + +#include <boost/function_types/components.hpp> + +namespace boost +{ + namespace function_types + { + template< typename T, typename Tag = null_tag > + struct is_member_function_pointer + : function_types::represents + < function_types::components<T> + , function_types::tag<Tag ,detail::member_function_pointer_tag> > + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_function_pointer,(T,Tag)) + }; + } + BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_function_pointer) +} +#endif + diff --git a/3rdParty/Boost/src/boost/function_types/is_member_object_pointer.hpp b/3rdParty/Boost/src/boost/function_types/is_member_object_pointer.hpp new file mode 100644 index 0000000..77527d9 --- /dev/null +++ b/3rdParty/Boost/src/boost/function_types/is_member_object_pointer.hpp @@ -0,0 +1,34 @@ + +// (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). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED +#define BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED + +#include <boost/mpl/aux_/lambda_support.hpp> +#include <boost/type_traits/detail/template_arity_spec.hpp> + +#include <boost/function_types/components.hpp> + +namespace boost +{ + namespace function_types + { + template< typename T > + struct is_member_object_pointer + : function_types::detail::represents_impl + < function_types::components<T> + , detail::member_object_pointer_tag > + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T)) + }; + } + BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::is_member_object_pointer) +} + +#endif + diff --git a/3rdParty/Boost/src/boost/function_types/member_function_pointer.hpp b/3rdParty/Boost/src/boost/function_types/member_function_pointer.hpp new file mode 100644 index 0000000..eab6111 --- /dev/null +++ b/3rdParty/Boost/src/boost/function_types/member_function_pointer.hpp @@ -0,0 +1,33 @@ + +// (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). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_MEMBER_FUNCTION_POINTER_HPP_INCLUDED +#define BOOST_FT_MEMBER_FUNCTION_POINTER_HPP_INCLUDED + +#include <boost/mpl/aux_/lambda_support.hpp> +#include <boost/type_traits/detail/template_arity_spec.hpp> + +#include <boost/function_types/detail/synthesize.hpp> +#include <boost/function_types/detail/to_sequence.hpp> + +namespace boost +{ + namespace function_types + { + template<typename Types, typename Tag = null_tag> + struct member_function_pointer + : detail::synthesize_mfp< typename detail::to_sequence<Types>::type, Tag > + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,member_function_pointer,(Types,Tag)) + }; + } + BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::member_function_pointer) +} + +#endif + |