[#btck-Handle-046] = xref:btck.adoc[btck]::Handle :relfileprefix: ../ :mrdocs: Owning RAII handle for a copyable C object of type `CType.` == Synopsis Declared in `<kernel/bitcoinkernel_wrapper.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename CType, CType*(* CopyFunc)(CType const*), void(* DestroyFunc)(CType*)> class Handle; ---- == Description Uses `CopyFunc` for copies and `DestroyFunc` for destruction, giving value semantics over the underlying C handle. == Member Functions [cols="1,4"] |=== | Name| Description | xref:btck/Handle-046/2constructor-06.adoc[`Handle`] [.small]#[constructor]# | Constructors | xref:btck/Handle-046/2destructor.adoc[`~Handle`] [.small]#[destructor]# | Destroys the owned C object. | xref:btck/Handle-046/operator_assign-08.adoc[`operator=`] | Assignment operators | xref:btck/Handle-046/get-08.adoc[`get`] | Returns the owned C handle. |=== == Protected Data Members [cols="1,4"] |=== | Name| Description | xref:btck/Handle-046/m_ptr.adoc[`m_ptr`] | The owned C handle. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:btck/Block.adoc[`Block`] | Owning wrapper over a `btck_Block`, a full block with its transactions. | xref:btck/BlockHash.adoc[`BlockHash`] | Owning wrapper over a `btck_BlockHash`. | xref:btck/BlockHeader.adoc[`BlockHeader`] | Owning wrapper over a `btck_BlockHeader`. | xref:btck/BlockSpentOutputs.adoc[`BlockSpentOutputs`] | Owning wrapper over a `btck_BlockSpentOutputs`, the undo data of a whole block. | xref:btck/BlockValidationState.adoc[`BlockValidationState`] | Owning wrapper over a `btck_BlockValidationState`, holding a block's validation outcome. | xref:btck/ChainParams.adoc[`ChainParams`] | Owning wrapper over `btck_ChainParameters`, the consensus parameters for a network. | xref:btck/Coin.adoc[`Coin`] | Owning wrapper over a `btck_Coin`. | xref:btck/Context.adoc[`Context`] | Owning wrapper over a `btck_Context`, the top‐level kernel execution context. | xref:btck/OutPoint.adoc[`OutPoint`] | Owning wrapper over a `btck_TransactionOutPoint`. | xref:btck/PrecomputedTransactionData.adoc[`PrecomputedTransactionData`] | Owning wrapper over `btck_PrecomputedTransactionData` used to cache signature hashes. | xref:btck/ScriptPubkey.adoc[`ScriptPubkey`] | Owning wrapper over a `btck_ScriptPubkey` output script. | xref:btck/Transaction.adoc[`Transaction`] | Owning wrapper over a `btck_Transaction`. | xref:btck/TransactionInput.adoc[`TransactionInput`] | Owning wrapper over a `btck_TransactionInput`. | xref:btck/TransactionOutput.adoc[`TransactionOutput`] | Owning wrapper over a `btck_TransactionOutput`. | xref:btck/TransactionSpentOutputs.adoc[`TransactionSpentOutputs`] | Owning wrapper over a `btck_TransactionSpentOutputs`, the coins spent by one transaction. | xref:btck/Txid.adoc[`Txid`] | Owning wrapper over a `btck_Txid` transaction identifier. | xref:btck/WitnessStack.adoc[`WitnessStack`] | Owning wrapper over a `btck_WitnessStack`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#