[#btck-WitnessStack]
= xref:btck.adoc[btck]::WitnessStack
:relfileprefix: ../
:mrdocs:

Owning wrapper over a `btck&lowbar;WitnessStack`&period;

== Synopsis

Declared in `&lt;kernel&sol;bitcoinkernel&lowbar;wrapper&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class WitnessStack
    : public xref:btck/Handle-046.adoc[Handle&lt;btck&lowbar;WitnessStack, btck&lowbar;witness&lowbar;stack&lowbar;copy, btck&lowbar;witness&lowbar;stack&lowbar;destroy&gt;]
    , public xref:btck/WitnessStackApi-04.adoc[WitnessStackApi&lt;WitnessStack&gt;]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:btck/Handle-046.adoc[Handle&lt;btck&lowbar;WitnessStack, btck&lowbar;witness&lowbar;stack&lowbar;copy, btck&lowbar;witness&lowbar;stack&lowbar;destroy&gt;]`
| Owning RAII handle for a copyable C object of type `CType&period;`
| `xref:btck/WitnessStackApi-04.adoc[WitnessStackApi&lt;WitnessStack&gt;]`
| CRTP mixin adding witness&hyphen;stack accessors shared by the view and owning types&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:btck/WitnessStack/2constructor.adoc[`WitnessStack`]         [.small]#[constructor]#
| Constructs an owning copy from a view&period;
| xref:btck/WitnessStack/operator_assign-0d.adoc[`operator&equals;`] 
| Assignment operators
| xref:btck/WitnessStack/CountItems.adoc[`CountItems`] 
| Returns the number of items on the witness stack&period;
| xref:btck/WitnessStack/GetItem.adoc[`GetItem`] 
| Returns a single witness item by index&period;
| xref:btck/WitnessStack/Items-033.adoc[`Items`] 
| 
| xref:btck/WitnessStack/get-07.adoc[`get`] 
| Returns the owned C handle&period;
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:btck/WitnessStack/m_ptr.adoc[`m&lowbar;ptr`] 
| The owned C handle&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
