returning unique pointers is now allowed

This commit is contained in:
Wenzel Jakob
2016-04-06 17:38:18 +02:00
parent a3ee1a4591
commit 9f0dfce84b
5 changed files with 52 additions and 0 deletions

View File

@@ -405,6 +405,17 @@ protected:
bool success = false;
};
template <typename type> class type_caster<std::unique_ptr<type>> {
public:
static handle cast(std::unique_ptr<type> &&src, return_value_policy policy, handle parent) {
handle result = type_caster<type>::cast(src.get(), policy, parent);
if (result)
src.release();
return result;
}
static PYBIND11_DESCR name() { return type_caster<type>::name(); }
};
template <> class type_caster<std::wstring> {
public:
bool load(handle src, bool) {