btck::Handle

Owning RAII handle for a copyable C object of type CType.

Synopsis

Declared in <kernel/bitcoinkernel_wrapper.h>

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

NameDescription
Handle [constructor]Constructors
~Handle [destructor]Destroys the owned C object.
operator= Assignment operators
get Returns the owned C handle.

Protected Data Members

NameDescription
m_ptr The owned C handle.

Derived Classes

NameDescription
Block Owning wrapper over a btck_Block, a full block with its transactions.
BlockHash Owning wrapper over a btck_BlockHash.
BlockHeader Owning wrapper over a btck_BlockHeader.
BlockSpentOutputs Owning wrapper over a btck_BlockSpentOutputs, the undo data of a whole block.
BlockValidationState Owning wrapper over a btck_BlockValidationState, holding a block's validation outcome.
ChainParams Owning wrapper over btck_ChainParameters, the consensus parameters for a network.
Coin Owning wrapper over a btck_Coin.
Context Owning wrapper over a btck_Context, the top-level kernel execution context.
OutPoint Owning wrapper over a btck_TransactionOutPoint.
PrecomputedTransactionData Owning wrapper over btck_PrecomputedTransactionData used to cache signature hashes.
ScriptPubkey Owning wrapper over a btck_ScriptPubkey output script.
Transaction Owning wrapper over a btck_Transaction.
TransactionInput Owning wrapper over a btck_TransactionInput.
TransactionOutput Owning wrapper over a btck_TransactionOutput.
TransactionSpentOutputs Owning wrapper over a btck_TransactionSpentOutputs, the coins spent by one transaction.
Txid Owning wrapper over a btck_Txid transaction identifier.
WitnessStack Owning wrapper over a btck_WitnessStack.