From cb0dc392b656fd9d0c85c56dc51a9be1de06e176 Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Mon, 27 Feb 2023 09:48:28 +0100 Subject: [PATCH] added deprecated wrappers for deleted class_<>.def_* functions --- include/nanobind/nb_class.h | 53 +++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/include/nanobind/nb_class.h b/include/nanobind/nb_class.h index 77f5bf99..ba02e672 100644 --- a/include/nanobind/nb_class.h +++ b/include/nanobind/nb_class.h @@ -460,6 +460,59 @@ class class_ : public object { return *this; } + /// Compatibility functions (with deprecation warning) + template + [[deprecated("replaced by 'def_ro()'")]] + class_ &def_readonly(const char *name, D C::*p, const Extra &...extra) { + return def_ro(name, p, extra...); + } + + template + [[deprecated("replaced by 'def_rw()'")]] + class_ &def_readwrite(const char *name, D C::*p, const Extra &...extra) { + return def_rw(name, p, extra...); + } + + template + [[deprecated("replaced by 'def_rw_static()'")]] + class_ &def_readwrite_static(const char *name, D *p, const Extra &...extra) { + return def_rw_static(name, p, extra...); + } + + template + [[deprecated("replaced by 'def_ro_static()'")]] + class_ &def_readonly_static(const char *name, D *p, const Extra &...extra) { + return def_ro_static(name, p, extra...); + } + + template + [[deprecated("replaced by 'def_prop_rw()'")]] + class_ & def_property(const char *name, Getter &&getter, + Setter &&setter, const Extra &...extra) { + return def_prop_rw(name, getter, setter, extra...); + } + + template + [[deprecated("replaced by 'def_prop_ro()'")]] + class_ & def_property_readonly(const char *name, Getter &&getter, + const Extra &...extra) { + return def_prop_ro(name, getter, extra...); + } + + template + [[deprecated("replaced by 'def_prop_rw_static()'")]] + class_ & def_property_static(const char *name, Getter &&getter, + Setter &&setter, const Extra &...extra) { + return def_prop_rw_static(name, getter, setter, extra...); + } + + + template + [[deprecated("replaced by 'def_prop_ro_static()'")]] + class_ & def_property_readonly_static(const char *name, Getter &&getter, + const Extra &...extra) { + return def_prop_ro_static(name, getter, extra...); + } }; template class enum_ : public class_ {