forked from boostorg/function_types
Compare commits
23 Commits
svn-branch
...
boost-1.58
Author | SHA1 | Date | |
---|---|---|---|
f99be38d89 | |||
c86381fb4c | |||
222884c4f7 | |||
8af990ab6f | |||
3ec0754b4f | |||
caed0a6ee8 | |||
2cc2141906 | |||
46f56ef9ae | |||
e7fcc6818b | |||
38cc207b23 | |||
1f2bc4d8d3 | |||
7e239167da | |||
a7f9fa0eda | |||
4e48421f9d | |||
5f0d9dd0a8 | |||
6ba2a45f5f | |||
91f47b7bc6 | |||
f451e18ef2 | |||
cde937faaa | |||
6f100429eb | |||
51aca6c98c | |||
291304b704 | |||
e04f655cc7 |
@ -62,7 +62,7 @@
|
||||
// ============
|
||||
//
|
||||
// [Dimov1] Dimov, P., Hinnant H., Abrahams, D. The Forwarding Problem
|
||||
// http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm
|
||||
//
|
||||
// [Dimov2] Dimov, P. Documentation of boost::mem_fn
|
||||
// http://www.boost.org/libs/bind/mem_fn.html
|
||||
|
@ -26,7 +26,7 @@
|
||||
//
|
||||
// [Gregor02] Gregor, D. A uniform method for computing function object return
|
||||
// types (revision 1)
|
||||
// http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1454.html
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1454.html
|
||||
|
||||
#include <boost/function_types/result_type.hpp>
|
||||
#include <boost/function_types/is_callable_builtin.hpp>
|
||||
|
@ -47,7 +47,6 @@
|
||||
|
||||
#include <boost/function_types/config/config.hpp>
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# if BOOST_FT_MAX_ARITY < 10
|
||||
# include <boost/mpl/vector/vector10.hpp>
|
||||
# elif BOOST_FT_MAX_ARITY < 20
|
||||
@ -59,9 +58,6 @@
|
||||
# elif BOOST_FT_MAX_ARITY < 50
|
||||
# include <boost/mpl/vector/vector50.hpp>
|
||||
# endif
|
||||
#else
|
||||
# include <boost/function_types/detail/classifier.hpp>
|
||||
#endif
|
||||
|
||||
#include <boost/function_types/detail/class_transform.hpp>
|
||||
#include <boost/function_types/property_tags.hpp>
|
||||
|
@ -28,7 +28,6 @@ struct class_transform
|
||||
{ typedef typename mpl::apply1<L,T>::type type; };
|
||||
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
// We can short-circuit the mechanism implemented in the primary template for
|
||||
// the most common lambda expression and save both the "un-lambdaing" and the
|
||||
// type traits invocation (we know that T can only be a class type).
|
||||
@ -53,7 +52,6 @@ template<typename T> struct class_transform< T, add_pointer< remove_cv<_> > >
|
||||
|
||||
template<typename T, typename U> struct class_transform< T, mpl::always<U> >
|
||||
{ typedef U type; };
|
||||
#endif
|
||||
|
||||
|
||||
} } } // namespace ::boost::function_types::detail
|
||||
|
@ -12,8 +12,7 @@
|
||||
#include <cstddef>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
|
||||
#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
# include <boost/type_traits/remove_pointer.hpp>
|
||||
# include <boost/type_traits/remove_reference.hpp>
|
||||
@ -23,8 +22,7 @@
|
||||
|
||||
namespace boost { namespace function_types { namespace detail {
|
||||
|
||||
#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, <= 0x582))
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
|
||||
|
||||
template<typename T> struct cv_traits
|
||||
{ typedef non_cv tag; typedef T type; };
|
||||
|
@ -32,14 +32,12 @@ struct to_sequence
|
||||
type;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
// reduce template instantiations, if possible
|
||||
template<typename T, typename U>
|
||||
struct to_sequence< components<T,U> >
|
||||
{
|
||||
typedef typename components<T,U>::types type;
|
||||
};
|
||||
#endif
|
||||
|
||||
} } } // namespace ::boost::function_types::detail
|
||||
|
||||
|
@ -102,7 +102,6 @@ struct tag
|
||||
detail::compound_tag<Tag3,Tag4> >
|
||||
{ };
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template<class Tag1, class Tag2, class Tag3> struct tag<Tag1,Tag2,Tag3,null_tag>
|
||||
: detail::compound_tag<detail::compound_tag<Tag1,Tag2>,Tag3>
|
||||
{ };
|
||||
@ -112,7 +111,6 @@ template<class Tag1, class Tag2> struct tag<Tag1,Tag2,null_tag,null_tag>
|
||||
template<class Tag1> struct tag<Tag1,null_tag,null_tag,null_tag>
|
||||
: Tag1
|
||||
{ };
|
||||
#endif
|
||||
|
||||
|
||||
template<class Tag, class QueryTag> struct represents
|
||||
|
15
meta/libraries.json
Normal file
15
meta/libraries.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"key": "function_types",
|
||||
"name": "Function Types",
|
||||
"authors": [
|
||||
"Tobias Schwinger"
|
||||
],
|
||||
"description": "Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.",
|
||||
"category": [
|
||||
"Generic",
|
||||
"Metaprogramming"
|
||||
],
|
||||
"maintainers": [
|
||||
"Tobias Schwinger <tschwinger -at- isonews2.com>"
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user