Bitcoin Core  31.0.0
P2P Digital Currency
Classes | Namespaces | Macros | Enumerations | Functions | Variables
bitcoinkernel_wrapper.h File Reference
#include <kernel/bitcoinkernel.h>
#include <array>
#include <exception>
#include <functional>
#include <memory>
#include <optional>
#include <span>
#include <stdexcept>
#include <string>
#include <string_view>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for bitcoinkernel_wrapper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  btck::is_bitmask_enum< T >
 
struct  btck::is_bitmask_enum< ScriptVerificationFlags >
 
class  btck::Iterator< Collection, ValueType >
 
class  btck::Range< Container, SizeFunc, GetFunc >
 
class  btck::View< CType >
 
class  btck::Handle< CType, CopyFunc, DestroyFunc >
 
class  btck::UniqueHandle< CType, DestroyFunc >
 
struct  btck::UniqueHandle< CType, DestroyFunc >::Deleter
 
class  btck::ScriptPubkeyApi< Derived >
 
class  btck::ScriptPubkeyView
 
class  btck::ScriptPubkey
 
class  btck::TransactionOutputApi< Derived >
 
class  btck::TransactionOutputView
 
class  btck::TransactionOutput
 
class  btck::TxidApi< Derived >
 
class  btck::TxidView
 
class  btck::Txid
 
class  btck::OutPointApi< Derived >
 
class  btck::OutPointView
 
class  btck::OutPoint
 
class  btck::TransactionInputApi< Derived >
 
class  btck::TransactionInputView
 
class  btck::TransactionInput
 
class  btck::TransactionApi< Derived >
 
class  btck::TransactionView
 
class  btck::Transaction
 
class  btck::PrecomputedTransactionData
 
class  btck::BlockHashApi< Derived >
 
class  btck::BlockHashView
 
class  btck::BlockHash
 
class  btck::BlockHeaderApi< Derived >
 
class  btck::BlockHeaderView
 
class  btck::BlockHeader
 
class  btck::Block
 
class  btck::Logger< T >
 
class  btck::BlockTreeEntry
 
class  btck::KernelNotifications
 
class  btck::BlockValidationStateApi< Derived >
 
class  btck::BlockValidationStateView
 
class  btck::BlockValidationState
 
class  btck::ValidationInterface
 
class  btck::ChainParams
 
class  btck::ContextOptions
 
class  btck::Context
 
class  btck::ChainstateManagerOptions
 
class  btck::ChainView
 
class  btck::CoinApi< Derived >
 
class  btck::CoinView
 
class  btck::Coin
 
class  btck::TransactionSpentOutputsApi< Derived >
 
class  btck::TransactionSpentOutputsView
 
class  btck::TransactionSpentOutputs
 
class  btck::BlockSpentOutputs
 
class  btck::ChainMan
 

Namespaces

 btck
 

Macros

#define MAKE_RANGE_METHOD(method_name, ContainerType, SizeFunc, GetFunc, container_expr)
 

Enumerations

enum  btck::LogCategory : btck_LogCategory {
  btck::LogCategory::ALL = btck_LogCategory_ALL, btck::LogCategory::BENCH = btck_LogCategory_BENCH, btck::LogCategory::BLOCKSTORAGE = btck_LogCategory_BLOCKSTORAGE, btck::LogCategory::COINDB = btck_LogCategory_COINDB,
  btck::LogCategory::LEVELDB = btck_LogCategory_LEVELDB, btck::LogCategory::MEMPOOL = btck_LogCategory_MEMPOOL, btck::LogCategory::PRUNE = btck_LogCategory_PRUNE, btck::LogCategory::RAND = btck_LogCategory_RAND,
  btck::LogCategory::REINDEX = btck_LogCategory_REINDEX, btck::LogCategory::VALIDATION = btck_LogCategory_VALIDATION, btck::LogCategory::KERNEL = btck_LogCategory_KERNEL
}
 
enum  btck::LogLevel : btck_LogLevel { btck::LogLevel::TRACE_LEVEL = btck_LogLevel_TRACE, btck::LogLevel::DEBUG_LEVEL = btck_LogLevel_DEBUG, btck::LogLevel::INFO_LEVEL = btck_LogLevel_INFO }
 
enum  btck::ChainType : btck_ChainType {
  btck::ChainType::MAINNET = btck_ChainType_MAINNET, btck::ChainType::TESTNET = btck_ChainType_TESTNET, btck::ChainType::TESTNET_4 = btck_ChainType_TESTNET_4, btck::ChainType::SIGNET = btck_ChainType_SIGNET,
  btck::ChainType::REGTEST = btck_ChainType_REGTEST
}
 
enum  btck::SynchronizationState : btck_SynchronizationState { btck::SynchronizationState::INIT_REINDEX = btck_SynchronizationState_INIT_REINDEX, btck::SynchronizationState::INIT_DOWNLOAD = btck_SynchronizationState_INIT_DOWNLOAD, btck::SynchronizationState::POST_INIT = btck_SynchronizationState_POST_INIT }
 
enum  btck::Warning : btck_Warning { btck::Warning::UNKNOWN_NEW_RULES_ACTIVATED = btck_Warning_UNKNOWN_NEW_RULES_ACTIVATED, btck::Warning::LARGE_WORK_INVALID_CHAIN = btck_Warning_LARGE_WORK_INVALID_CHAIN }
 
enum  btck::ValidationMode : btck_ValidationMode { btck::ValidationMode::VALID = btck_ValidationMode_VALID, btck::ValidationMode::INVALID = btck_ValidationMode_INVALID, btck::ValidationMode::INTERNAL_ERROR = btck_ValidationMode_INTERNAL_ERROR }
 
enum  btck::BlockValidationResult : btck_BlockValidationResult {
  btck::BlockValidationResult::UNSET = btck_BlockValidationResult_UNSET, btck::BlockValidationResult::CONSENSUS = btck_BlockValidationResult_CONSENSUS, btck::BlockValidationResult::CACHED_INVALID = btck_BlockValidationResult_CACHED_INVALID, btck::BlockValidationResult::INVALID_HEADER = btck_BlockValidationResult_INVALID_HEADER,
  btck::BlockValidationResult::MUTATED = btck_BlockValidationResult_MUTATED, btck::BlockValidationResult::MISSING_PREV = btck_BlockValidationResult_MISSING_PREV, btck::BlockValidationResult::INVALID_PREV = btck_BlockValidationResult_INVALID_PREV, btck::BlockValidationResult::TIME_FUTURE = btck_BlockValidationResult_TIME_FUTURE,
  btck::BlockValidationResult::HEADER_LOW_WORK = btck_BlockValidationResult_HEADER_LOW_WORK
}
 
enum  btck::ScriptVerifyStatus : btck_ScriptVerifyStatus { btck::ScriptVerifyStatus::OK = btck_ScriptVerifyStatus_OK, btck::ScriptVerifyStatus::ERROR_INVALID_FLAGS_COMBINATION = btck_ScriptVerifyStatus_ERROR_INVALID_FLAGS_COMBINATION, btck::ScriptVerifyStatus::ERROR_SPENT_OUTPUTS_REQUIRED = btck_ScriptVerifyStatus_ERROR_SPENT_OUTPUTS_REQUIRED }
 
enum  btck::ScriptVerificationFlags : btck_ScriptVerificationFlags {
  btck::ScriptVerificationFlags::NONE = btck_ScriptVerificationFlags_NONE, btck::ScriptVerificationFlags::P2SH = btck_ScriptVerificationFlags_P2SH, btck::ScriptVerificationFlags::DERSIG = btck_ScriptVerificationFlags_DERSIG, btck::ScriptVerificationFlags::NULLDUMMY = btck_ScriptVerificationFlags_NULLDUMMY,
  btck::ScriptVerificationFlags::CHECKLOCKTIMEVERIFY = btck_ScriptVerificationFlags_CHECKLOCKTIMEVERIFY, btck::ScriptVerificationFlags::CHECKSEQUENCEVERIFY = btck_ScriptVerificationFlags_CHECKSEQUENCEVERIFY, btck::ScriptVerificationFlags::WITNESS = btck_ScriptVerificationFlags_WITNESS, btck::ScriptVerificationFlags::TAPROOT = btck_ScriptVerificationFlags_TAPROOT,
  btck::ScriptVerificationFlags::ALL = btck_ScriptVerificationFlags_ALL
}
 

Functions

template<BitmaskEnum T>
constexpr T btck::operator| (T lhs, T rhs)
 
template<BitmaskEnum T>
constexpr T btck::operator & (T lhs, T rhs)
 
template<BitmaskEnum T>
constexpr T btck::operator^ (T lhs, T rhs)
 
template<BitmaskEnum T>
constexpr T btck::operator~ (T value)
 
template<BitmaskEnum T>
constexpr T & btck::operator|= (T &lhs, T rhs)
 
template<BitmaskEnum T>
constexpr T & btck::operator &= (T &lhs, T rhs)
 
template<BitmaskEnum T>
constexpr T & btck::operator^= (T &lhs, T rhs)
 
template<typename T >
btck::check (T ptr)
 
template<typename T >
std::vector< std::byte > btck::write_bytes (const T *object, int(*to_bytes)(const T *, btck_WriteBytes, void *))
 
void btck::logging_disable ()
 
void btck::logging_set_options (const btck_LoggingOptions &logging_options)
 
void btck::logging_set_level_category (LogCategory category, LogLevel level)
 
void btck::logging_enable_category (LogCategory category)
 
void btck::logging_disable_category (LogCategory category)
 

Variables

template<typename T >
concept btck::BitmaskEnum = is_bitmask_enum<T>::value
 
template<typename Container , typename SizeFunc , typename GetFunc >
concept btck::IndexedContainer
 
template<typename T >
concept btck::Log
 

Macro Definition Documentation

◆ MAKE_RANGE_METHOD

#define MAKE_RANGE_METHOD (   method_name,
  ContainerType,
  SizeFunc,
  GetFunc,
  container_expr 
)
Value:
auto method_name() const & { \
return Range<ContainerType, SizeFunc, GetFunc>{container_expr}; \
} \
auto method_name() const && = delete;

Definition at line 260 of file bitcoinkernel_wrapper.h.