diff options
Diffstat (limited to 'bindgen-integration/cpp')
-rw-r--r-- | bindgen-integration/cpp/Test.cc | 11 | ||||
-rw-r--r-- | bindgen-integration/cpp/Test.h | 8 |
2 files changed, 18 insertions, 1 deletions
diff --git a/bindgen-integration/cpp/Test.cc b/bindgen-integration/cpp/Test.cc index 1d962406..7b0ec4ad 100644 --- a/bindgen-integration/cpp/Test.cc +++ b/bindgen-integration/cpp/Test.cc @@ -21,6 +21,15 @@ Test::Test(double foo) , m_double(foo) {} +AutoRestoreBool::AutoRestoreBool(bool* ptr) + : m_ptr(ptr) + , m_value(*ptr) +{} + +AutoRestoreBool::~AutoRestoreBool() { + *m_ptr = m_value; +} + namespace bitfields { bool @@ -47,4 +56,4 @@ Third::assert(int first, bool second, ItemKind third) kind == third; } -} +} // namespace bitfields diff --git a/bindgen-integration/cpp/Test.h b/bindgen-integration/cpp/Test.h index 310478bb..01c7aea1 100644 --- a/bindgen-integration/cpp/Test.h +++ b/bindgen-integration/cpp/Test.h @@ -64,3 +64,11 @@ struct Third { }; } // namespace bitfields + +struct AutoRestoreBool { + bool* m_ptr; + bool m_value; + + AutoRestoreBool(bool*); + ~AutoRestoreBool(); +}; |