+class COption_C2Tuple_usizeTransactionZZ {
+private:
+ LDKCOption_C2Tuple_usizeTransactionZZ self;
+public:
+ COption_C2Tuple_usizeTransactionZZ(const COption_C2Tuple_usizeTransactionZZ&) = delete;
+ COption_C2Tuple_usizeTransactionZZ(COption_C2Tuple_usizeTransactionZZ&& o) : self(o.self) { memset(&o, 0, sizeof(COption_C2Tuple_usizeTransactionZZ)); }
+ COption_C2Tuple_usizeTransactionZZ(LDKCOption_C2Tuple_usizeTransactionZZ&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKCOption_C2Tuple_usizeTransactionZZ)); }
+ operator LDKCOption_C2Tuple_usizeTransactionZZ() && { LDKCOption_C2Tuple_usizeTransactionZZ res = self; memset(&self, 0, sizeof(LDKCOption_C2Tuple_usizeTransactionZZ)); return res; }
+ ~COption_C2Tuple_usizeTransactionZZ() { COption_C2Tuple_usizeTransactionZZ_free(self); }
+ COption_C2Tuple_usizeTransactionZZ& operator=(COption_C2Tuple_usizeTransactionZZ&& o) { COption_C2Tuple_usizeTransactionZZ_free(self); self = o.self; memset(&o, 0, sizeof(COption_C2Tuple_usizeTransactionZZ)); return *this; }
+ LDKCOption_C2Tuple_usizeTransactionZZ* operator &() { return &self; }
+ LDKCOption_C2Tuple_usizeTransactionZZ* operator ->() { return &self; }
+ const LDKCOption_C2Tuple_usizeTransactionZZ* operator &() const { return &self; }
+ const LDKCOption_C2Tuple_usizeTransactionZZ* operator ->() const { return &self; }
+};