Bitcoin Core 30.99.0
P2P Digital Currency
Public Types | Public Member Functions | Private Attributes | List of all members
btck::Range< Container, SizeFunc, GetFunc > Class Template Reference

#include <bitcoinkernel_wrapper.h>

Public Types

using value_type = std::invoke_result_t< decltype(GetFunc), const Container &, size_t >
 
using difference_type = std::ptrdiff_t
 
using iterator = Iterator< Range, value_type >
 
using const_iterator = iterator
 

Public Member Functions

 Range (const Container &container)
 
iterator begin () const
 
iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
size_t size () const
 
bool empty () const
 
value_type operator[] (size_t index) const
 
value_type at (size_t index) const
 
value_type front () const
 
value_type back () const
 

Private Attributes

const Container * m_container
 

Detailed Description

template<typename Container, auto SizeFunc, auto GetFunc>
requires IndexedContainer<Container, decltype(SizeFunc), decltype(GetFunc)>
class btck::Range< Container, SizeFunc, GetFunc >

Definition at line 218 of file bitcoinkernel_wrapper.h.

Member Typedef Documentation

◆ const_iterator

template<typename Container , auto SizeFunc, auto GetFunc>
using btck::Range< Container, SizeFunc, GetFunc >::const_iterator = iterator

Definition at line 224 of file bitcoinkernel_wrapper.h.

◆ difference_type

template<typename Container , auto SizeFunc, auto GetFunc>
using btck::Range< Container, SizeFunc, GetFunc >::difference_type = std::ptrdiff_t

Definition at line 222 of file bitcoinkernel_wrapper.h.

◆ iterator

template<typename Container , auto SizeFunc, auto GetFunc>
using btck::Range< Container, SizeFunc, GetFunc >::iterator = Iterator<Range, value_type>

Definition at line 223 of file bitcoinkernel_wrapper.h.

◆ value_type

template<typename Container , auto SizeFunc, auto GetFunc>
using btck::Range< Container, SizeFunc, GetFunc >::value_type = std::invoke_result_t<decltype(GetFunc), const Container&, size_t>

Definition at line 221 of file bitcoinkernel_wrapper.h.

Constructor & Destructor Documentation

◆ Range()

template<typename Container , auto SizeFunc, auto GetFunc>
btck::Range< Container, SizeFunc, GetFunc >::Range ( const Container &  container)
inlineexplicit

Definition at line 230 of file bitcoinkernel_wrapper.h.

Member Function Documentation

◆ at()

template<typename Container , auto SizeFunc, auto GetFunc>
value_type btck::Range< Container, SizeFunc, GetFunc >::at ( size_t  index) const
inline

Definition at line 247 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:

◆ back()

template<typename Container , auto SizeFunc, auto GetFunc>
value_type btck::Range< Container, SizeFunc, GetFunc >::back ( ) const
inline

Definition at line 256 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:

◆ begin()

template<typename Container , auto SizeFunc, auto GetFunc>
iterator btck::Range< Container, SizeFunc, GetFunc >::begin ( ) const
inline

Definition at line 235 of file bitcoinkernel_wrapper.h.

Here is the caller graph for this function:

◆ cbegin()

template<typename Container , auto SizeFunc, auto GetFunc>
const_iterator btck::Range< Container, SizeFunc, GetFunc >::cbegin ( ) const
inline

Definition at line 238 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:

◆ cend()

template<typename Container , auto SizeFunc, auto GetFunc>
const_iterator btck::Range< Container, SizeFunc, GetFunc >::cend ( ) const
inline

Definition at line 239 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:

◆ empty()

template<typename Container , auto SizeFunc, auto GetFunc>
bool btck::Range< Container, SizeFunc, GetFunc >::empty ( ) const
inline

Definition at line 243 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:

◆ end()

template<typename Container , auto SizeFunc, auto GetFunc>
iterator btck::Range< Container, SizeFunc, GetFunc >::end ( ) const
inline

Definition at line 236 of file bitcoinkernel_wrapper.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ front()

template<typename Container , auto SizeFunc, auto GetFunc>
value_type btck::Range< Container, SizeFunc, GetFunc >::front ( ) const
inline

Definition at line 255 of file bitcoinkernel_wrapper.h.

◆ operator[]()

template<typename Container , auto SizeFunc, auto GetFunc>
value_type btck::Range< Container, SizeFunc, GetFunc >::operator[] ( size_t  index) const
inline

Definition at line 245 of file bitcoinkernel_wrapper.h.

◆ size()

template<typename Container , auto SizeFunc, auto GetFunc>
size_t btck::Range< Container, SizeFunc, GetFunc >::size ( ) const
inline

Definition at line 241 of file bitcoinkernel_wrapper.h.

Here is the caller graph for this function:

Member Data Documentation

◆ m_container

template<typename Container , auto SizeFunc, auto GetFunc>
const Container* btck::Range< Container, SizeFunc, GetFunc >::m_container
private

Definition at line 227 of file bitcoinkernel_wrapper.h.


The documentation for this class was generated from the following file: