dawncpp.h: Add nullptr ObjectBase constructor and assignment
BUG=dawn:3
Change-Id: I9f7ec0ae1c7885809888a603ed056c6565751bec
Reviewed-on: https://dawn-review.googlesource.com/c/2840
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/generator/templates/apicpp.h b/generator/templates/apicpp.h
index af142b0..87bd71b 100644
--- a/generator/templates/apicpp.h
+++ b/generator/templates/apicpp.h
@@ -97,6 +97,15 @@
return static_cast<Derived&>(*this);
}
+ ObjectBase(nullptr_t) {}
+ Derived& operator=(nullptr_t) {
+ if (mHandle != nullptr) {
+ Derived::DawnRelease(mHandle);
+ mHandle = nullptr;
+ }
+ return static_cast<Derived&>(*this);
+ }
+
explicit operator bool() const {
return mHandle != nullptr;
}