diff --git a/doc/v2/make_function.html b/doc/v2/make_function.html
index 39136721..d5a6cdb0 100644
--- a/doc/v2/make_function.html
+++ b/doc/v2/make_function.html
@@ -96,10 +96,10 @@ template <class F, class Policies, class Keywords, class Signature>
to f.
policies are supplied, it
will be applied to the function as described here.
+ "CallPolicies.html">here.
keywords are
supplied, the keywords will be applied in order to the final
- arguments of the resulting function.
+ arguments of the resulting function.
Signature
is supplied, it should be an instance of an MPL front-extensible
@@ -125,36 +125,33 @@ template <class F, class Policies, class Keywords, class Signature>
-template <class T, class ArgList, class Generator> -object make_constructor(); - -template <class ArgList, class Generator, class Policies> +template <class F> +object make_constructor(F f) + +template <class F, class Policies> object make_constructor(Policies const& policies) +"object.html#object-spec">objectmake_constructor(F f, Policies const& policies) + +template <class F, class Policies, class KeywordsOrSignature> +object make_constructor(F f, Policies const& policies, KeywordsOrSignature const& ks) + +template <class F, class Policies, class Keywords, class Signature> +object make_constructor(F f, Policies const& policies, Keywords const& kw, Signature const& sig)
T is a class type.
- Policies is a model of CallPolicies. ArgList is an MPL sequence of C++ argument
- types (A1, A2,... AN) such that if
- a1, a2... aN are objects of type
- A1, A2,... AN respectively, the expression new
- Generator::apply<T>::type(a1, a2... aN)
- is valid. Generator is a model of HolderGenerator.F is a
+ function pointer type. If policies are supplied, it must
+ be a model of CallPolicies. If
+ kewords are supplied, it must be the result of a keyword-expression
+ specifying no more arguments than the arity of f.Generator::apply<T>::type object, which is then
- installed in the extension class object. In the second form, the
- policies are applied to the arguments and result (None)
- of the Python callable objectf.
>>> from make_function_test import *
>>> f = choose_function(1)
diff --git a/include/boost/python/detail/config.hpp b/include/boost/python/detail/config.hpp
index acafc037..76595ebb 100644
--- a/include/boost/python/detail/config.hpp
+++ b/include/boost/python/detail/config.hpp
@@ -76,13 +76,13 @@
# if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
# if defined(BOOST_PYTHON_SOURCE)
-# define BOOST_PYTHON_DECL __attribute__ ((visibility("default")))
+# define BOOST_PYTHON_DECL __attribute__ ((__visibility__("default")))
# define BOOST_PYTHON_BUILD_DLL
# else
# define BOOST_PYTHON_DECL
# endif
# define BOOST_PYTHON_DECL_FORWARD
-# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((visibility("default")))
+# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((__visibility__("default")))
# elif (defined(_WIN32) || defined(__CYGWIN__))
# if defined(BOOST_PYTHON_SOURCE)
# define BOOST_PYTHON_DECL __declspec(dllexport)
diff --git a/include/boost/python/module_init.hpp b/include/boost/python/module_init.hpp
index 54d87e4b..a9536c88 100644
--- a/include/boost/python/module_init.hpp
+++ b/include/boost/python/module_init.hpp
@@ -76,7 +76,7 @@ extern "C" __declspec(dllexport) _BOOST_PYTHON_MODULE_INIT(name)
# define BOOST_PYTHON_MODULE_INIT(name) \
void BOOST_PP_CAT(init_module_,name)(); \
-extern "C" __attribute__ ((visibility("default"))) _BOOST_PYTHON_MODULE_INIT(name)
+extern "C" __attribute__ ((__visibility__("default"))) _BOOST_PYTHON_MODULE_INIT(name)
# else