KiCad PCB EDA Suite
|
Public Member Functions | |
IMPL (OBSERVABLE_BASE *owned_by=nullptr) | |
bool | is_shared () const |
void | set_shared () |
~IMPL () | |
void | add_observer (void *observer) |
void | remove_observer (void *observer) |
void | collect () |
bool | is_iterating () const |
void | enter_iteration () |
void | leave_iteration () |
Public Attributes | |
std::vector< void * > | observers_ |
unsigned int | iteration_count_ |
OBSERVABLE_BASE * | owned_by_ |
Definition at line 56 of file observable.h.
UTIL::DETAIL::OBSERVABLE_BASE::IMPL::IMPL | ( | OBSERVABLE_BASE * | owned_by = nullptr | ) |
Definition at line 45 of file observable.cpp.
References iteration_count_, UTIL::DETAIL::OBSERVABLE_BASE::OBSERVABLE_BASE(), and owned_by_.
UTIL::DETAIL::OBSERVABLE_BASE::IMPL::~IMPL | ( | ) |
Definition at line 62 of file observable.cpp.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::add_observer | ( | void * | observer | ) |
Definition at line 88 of file observable.cpp.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::collect | ( | ) |
Definition at line 112 of file observable.cpp.
References observers_.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::enter_iteration | ( | ) |
Definition at line 67 of file observable.cpp.
References iteration_count_.
bool UTIL::DETAIL::OBSERVABLE_BASE::IMPL::is_iterating | ( | ) | const |
Definition at line 82 of file observable.cpp.
Referenced by remove_observer().
bool UTIL::DETAIL::OBSERVABLE_BASE::IMPL::is_shared | ( | ) | const |
Definition at line 50 of file observable.cpp.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::leave_iteration | ( | ) |
Definition at line 73 of file observable.cpp.
References iteration_count_.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::remove_observer | ( | void * | observer | ) |
Definition at line 95 of file observable.cpp.
References is_iterating(), and observers_.
void UTIL::DETAIL::OBSERVABLE_BASE::IMPL::set_shared | ( | ) |
Definition at line 56 of file observable.cpp.
References owned_by_.
unsigned int UTIL::DETAIL::OBSERVABLE_BASE::IMPL::iteration_count_ |
Definition at line 73 of file observable.h.
Referenced by enter_iteration(), IMPL(), and leave_iteration().
std::vector<void*> UTIL::DETAIL::OBSERVABLE_BASE::IMPL::observers_ |
Definition at line 72 of file observable.h.
Referenced by collect(), and remove_observer().
OBSERVABLE_BASE* UTIL::DETAIL::OBSERVABLE_BASE::IMPL::owned_by_ |
Definition at line 74 of file observable.h.
Referenced by IMPL(), and set_shared().