Skip to content

Commit a698df0

Browse files
committed
Fix issues with Version binding.
1 parent 32eee30 commit a698df0

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

src/mobase/wrappers/basic_classes.cpp

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,24 @@ namespace mo2::python {
5454
.value("NO_METADATA", Version::FormatMode::NoMetadata)
5555
.value("CONDENSED",
5656
static_cast<Version::FormatMode>(Version::FormatCondensed.toInt()))
57-
.export_values();
57+
.export_values()
58+
.def("__xor__",
59+
py::overload_cast<Version::FormatMode, Version::FormatModes>(
60+
&operator^))
61+
.def("__and__",
62+
py::overload_cast<Version::FormatMode, Version::FormatModes>(
63+
&operator&))
64+
.def("__or__", py::overload_cast<Version::FormatMode, Version::FormatModes>(
65+
&operator|))
66+
.def("__rxor__",
67+
py::overload_cast<Version::FormatMode, Version::FormatModes>(
68+
&operator^))
69+
.def("__rand__",
70+
py::overload_cast<Version::FormatMode, Version::FormatModes>(
71+
&operator&))
72+
.def("__ror__",
73+
py::overload_cast<Version::FormatMode, Version::FormatModes>(
74+
&operator|));
5875

5976
pyVersion
6077
.def_static("parse", &Version::parse, "value"_a,
@@ -86,8 +103,11 @@ namespace mo2::python {
86103
.def_property_readonly("subpatch", &Version::subpatch)
87104
.def_property_readonly("prereleases", &Version::preReleases)
88105
.def_property_readonly("build_metadata", &Version::buildMetadata)
89-
.def("string", &Version::string, "mode"_a = Version::FormatCondensed)
90-
.def("__str__", &Version::string)
106+
.def("string", &Version::string, "mode"_a = Version::FormatModes{})
107+
.def("__str__",
108+
[](Version const& version) {
109+
return version.string(Version::FormatCondensed);
110+
})
91111
.def(py::self < py::self)
92112
.def(py::self > py::self)
93113
.def(py::self <= py::self)

0 commit comments

Comments
 (0)