y3c-stl 0.3.3
Friendly C++ STL wrapper with automatic stacktrace
Loading...
Searching...
No Matches
life_observer Class Reference

ライフタイムの状態を観測するクラス More...

#include <y3c/life.h>

Public Member Functions

 life_observer (std::nullptr_t)
 
 life_observer (const life_observer &)=default
 
life_observeroperator= (const life_observer &)=default
 
 ~life_observer ()=default
 
const std::shared_ptr< life_validator > & push_validator (const std::shared_ptr< life_validator > &v) const
 
const void * begin () const
 
const void * end () const
 
template<typename element_type >
element_type * assert_ptr (element_type *ptr, const std::string &func, internal::skip_trace_tag={}) const
 
template<typename element_type >
element_type * assert_iter (const contiguous_iterator< element_type > &iter, const std::string &func, internal::skip_trace_tag={}) const
 
template<typename element_type >
element_type * assert_iter_including_end (const contiguous_iterator< element_type > &iter, const std::string &func, internal::skip_trace_tag={}) const
 
template<typename element_type >
void assert_range_iter (const contiguous_iterator< element_type > &begin, const contiguous_iterator< element_type > &end, const std::string &func, internal::skip_trace_tag={}) const
 

Friends

class life
 

Detailed Description

ライフタイムの状態を観測するクラス

オブジェクトを参照する側はlife_observerを受けとり、 empty(), alive(), in_range() で状態を確認できる。

Constructor & Destructor Documentation

◆ life_observer() [1/2]

life_observer ( std::nullptr_t  )
inlineexplicit

オブジェクトを参照しない空のobserverになる

◆ life_observer() [2/2]

life_observer ( const life_observer )
default

◆ ~life_observer()

~life_observer ( )
default

Member Function Documentation

◆ assert_iter()

template<typename element_type >
element_type * assert_iter ( const contiguous_iterator< element_type > &  iter,
const std::string &  func,
internal::skip_trace_tag  = {} 
) const
inline

◆ assert_iter_including_end()

template<typename element_type >
element_type * assert_iter_including_end ( const contiguous_iterator< element_type > &  iter,
const std::string &  func,
internal::skip_trace_tag  = {} 
) const
inline

◆ assert_ptr()

template<typename element_type >
element_type * assert_ptr ( element_type *  ptr,
const std::string &  func,
internal::skip_trace_tag  = {} 
) const
inline

◆ assert_range_iter()

template<typename element_type >
void assert_range_iter ( const contiguous_iterator< element_type > &  begin,
const contiguous_iterator< element_type > &  end,
const std::string &  func,
internal::skip_trace_tag  = {} 
) const
inline

◆ begin()

const void * begin ( ) const
inline

◆ end()

const void * end ( ) const
inline

◆ operator=()

life_observer & operator= ( const life_observer )
default

◆ push_validator()

const std::shared_ptr< life_validator > & push_validator ( const std::shared_ptr< life_validator > &  v) const
inline

Friends And Related Symbol Documentation

◆ life

friend class life
friend

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