Skip to content

Commit c8501b1

Browse files
committed
Chain methods to eliminate an overload
1 parent a9db6f9 commit c8501b1

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

include/pybind11/pybind11.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,19 +1085,15 @@ class class_ : public detail::generic_type {
10851085
/// Uses return_value_policy::reference_internal by default
10861086
template <typename Getter, typename Setter, typename... Extra>
10871087
class_ &def_property(const char *name, const Getter &fget, const Setter &fset, const Extra& ...extra) {
1088-
return def_property(name,
1089-
cpp_function(fget, is_method<type>(*this)), cpp_function(fset, is_method<type>(*this)),
1090-
return_value_policy::reference_internal, extra...);
1088+
return def_property(name, fget,
1089+
cpp_function(fset, is_method<type>(*this), return_value_policy::reference_internal),
1090+
extra...);
10911091
}
10921092
template <typename Getter, typename... Extra>
10931093
class_ &def_property(const char *name, const Getter &fget, const cpp_function &fset, const Extra& ...extra) {
10941094
return def_property(name,
1095-
cpp_function(fget, is_method<type>(*this), return_value_policy::reference_internal), fset, extra...);
1096-
}
1097-
template <typename Setter, typename... Extra>
1098-
class_ &def_property(const char *name, const cpp_function &fget, const Setter &fset, const Extra& ...extra) {
1099-
return def_property(name,
1100-
fget, cpp_function(fset, is_method<type>(*this), return_value_policy::reference_internal), extra...);
1095+
cpp_function(fget, is_method<type>(*this), return_value_policy::reference_internal),
1096+
fset, extra...);
11011097
}
11021098

11031099
/// Uses cpp_function's return_value_policy by default

0 commit comments

Comments
 (0)