Lines Matching refs:Func

68     template <typename Func, typename... Extra,
69 typename = detail::enable_if_t<detail::is_lambda<Func>::value>>
70 cpp_function(Func &&f, const Extra&... extra) {
71 initialize(std::forward<Func>(f),
72 (detail::function_signature_t<Func> *) nullptr, extra...);
99 template <typename Func, typename Return, typename... Args, typename... Extra>
100 void initialize(Func &&f, Return (*)(Args...), const Extra&... extra) {
102 struct capture { remove_reference_t<Func> f; };
116 new ((capture *) &rec->data) capture { std::forward<Func>(f) };
120 if (!std::is_trivially_destructible<Func>::value)
123 rec->data[0] = new capture { std::forward<Func>(f) };
184 std::is_convertible<Func, FunctionType>::value &&
813 Create Python binding for a new function within the module scope. ``Func``
817 template <typename Func, typename... Extra>
818 module &def(const char *name_, Func &&f, const Extra& ... extra) {
819 cpp_function func(std::forward<Func>(f), name(name_), scope(*this),
1109 template <typename Func, typename... Extra>
1110 class_ &def(const char *name_, Func&& f, const Extra&... extra) {
1111 cpp_function cf(method_adaptor<type>(std::forward<Func>(f)), name(name_), is_method(*this),
1117 template <typename Func, typename... Extra> class_ &
1118 def_static(const char *name_, Func &&f, const Extra&... extra) {
1119 static_assert(!std::is_member_function_pointer<Func>::value,
1121 cpp_function cf(std::forward<Func>(f), name(name_), scope(*this),
1163 template <typename Func> class_& def_buffer(Func &&func) {
1164 struct capture { Func func; };
1165 capture *ptr = new capture { std::forward<Func>(func) };
1377 template <typename Func, typename Ret = detail::initimpl::factory<Func>>
1378 Ret init(Func &&f) { return {std::forward<Func>(f)}; }