Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::sample_cursor< P, Target > Struct Template Reference

#include <sampling.h>

Classes

struct  binding
 

Public Types

using policy_type = P
 
using target_type = Target
 

Public Member Functions

 sample_cursor (std::shared_ptr< target_type const > target)
 
bool done () const noexcept
 
profile_sample_view< P > peek () const &
 
profile_sample_view< P > peek () const &&=delete
 
void advance ()
 
std::shared_ptr< target_type const > target () const noexcept
 
sampling_work const & counters () const noexcept
 

Static Public Attributes

static constexpr std::uint64_t group_size = P::group_size
 

Private Member Functions

 sample_cursor (binding source)
 
void choose_next ()
 

Static Private Member Functions

static binding bind_target (std::shared_ptr< target_type const > target)
 

Private Attributes

std::shared_ptr< target_type const > target_
 
profile_cursor< P, stream_role::native > native_
 
profile_cursor< P, stream_role::borrowed > borrowed_
 
sampling_work work_
 
std::uint64_t ordinal_ = 0
 
bool next_borrowed_ = false
 

Member Typedef Documentation

◆ policy_type

template<class P , class Target = profile_blob<P>>
using everett::sample_cursor< P, Target >::policy_type = P

◆ target_type

template<class P , class Target = profile_blob<P>>
using everett::sample_cursor< P, Target >::target_type = Target

Constructor & Destructor Documentation

◆ sample_cursor() [1/2]

template<class P , class Target = profile_blob<P>>
everett::sample_cursor< P, Target >::sample_cursor ( std::shared_ptr< target_type const >  target)
inlineexplicit

◆ sample_cursor() [2/2]

template<class P , class Target = profile_blob<P>>
everett::sample_cursor< P, Target >::sample_cursor ( binding  source)
inlineexplicitprivate

Member Function Documentation

◆ advance()

template<class P , class Target = profile_blob<P>>
void everett::sample_cursor< P, Target >::advance ( )
inline

◆ bind_target()

template<class P , class Target = profile_blob<P>>
static binding everett::sample_cursor< P, Target >::bind_target ( std::shared_ptr< target_type const >  target)
inlinestaticprivate

◆ choose_next()

template<class P , class Target = profile_blob<P>>
void everett::sample_cursor< P, Target >::choose_next ( )
inlineprivate

◆ counters()

template<class P , class Target = profile_blob<P>>
sampling_work const & everett::sample_cursor< P, Target >::counters ( ) const
inlinenoexcept

◆ done()

template<class P , class Target = profile_blob<P>>
bool everett::sample_cursor< P, Target >::done ( ) const
inlinenoexcept

◆ peek() [1/2]

template<class P , class Target = profile_blob<P>>
profile_sample_view< P > everett::sample_cursor< P, Target >::peek ( ) const &
inline

◆ peek() [2/2]

template<class P , class Target = profile_blob<P>>
profile_sample_view< P > everett::sample_cursor< P, Target >::peek ( ) const &&
delete

◆ target()

template<class P , class Target = profile_blob<P>>
std::shared_ptr< target_type const > everett::sample_cursor< P, Target >::target ( ) const
inlinenoexcept

Member Data Documentation

◆ borrowed_

template<class P , class Target = profile_blob<P>>
profile_cursor<P, stream_role::borrowed> everett::sample_cursor< P, Target >::borrowed_
private

◆ group_size

template<class P , class Target = profile_blob<P>>
constexpr std::uint64_t everett::sample_cursor< P, Target >::group_size = P::group_size
staticconstexpr

◆ native_

template<class P , class Target = profile_blob<P>>
profile_cursor<P, stream_role::native> everett::sample_cursor< P, Target >::native_
private

◆ next_borrowed_

template<class P , class Target = profile_blob<P>>
bool everett::sample_cursor< P, Target >::next_borrowed_ = false
private

◆ ordinal_

template<class P , class Target = profile_blob<P>>
std::uint64_t everett::sample_cursor< P, Target >::ordinal_ = 0
private

◆ target_

template<class P , class Target = profile_blob<P>>
std::shared_ptr<target_type const> everett::sample_cursor< P, Target >::target_
private

◆ work_

template<class P , class Target = profile_blob<P>>
sampling_work everett::sample_cursor< P, Target >::work_
private

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