#include <ClientMarker.hpp>
Classes | |
| struct | Status |
Public Member Functions | |
| template<class ClientType > | |
| ClientMarker (Instance *inst, ClientType *client, const char *name) | |
| template<class ClientType > | |
| ClientMarker (Instance *inst, ClientType *client, const char *name, Status) | |
| ~ClientMarker () | |
| ClientMarker (ClientMarker const &)=delete | |
| ClientMarker & | operator= (ClientMarker const &)=delete |
| template<class ... Rest> | |
| void | inherits (ClientMarker &parent, Rest &... rest) |
| template<class ... Rest> | |
| void | owns (ClientMarker &ownee, Rest &... rest) |
| std::type_index | client_type () const |
| std::type_index | type () const |
| Alias for client_type. More... | |
| template<class TypedClient > | |
| TypedClient * | client () const |
| Instance * | instance () const |
| const std::string & | name () const |
| unsigned | marker_id () const |
| Id unique to ClientMarker's name. More... | |
| std::string | name_id () const |
| Name concatenated with marker_id with space inbetween. More... | |
| std::string | root_name_id () const |
| Name concatenated with marker_id with space inbetween. More... | |
| void | print_status (TableDebugView *view) const |
| void | print_status (TextDebugView *view) const |
| void | print_status_with_inherited (TextDebugView *view, ClientMarker *emphasize=nullptr) const |
| void | print_status_with_inherited (TreeDebugView *view, ClientMarker *emphasize=nullptr) const |
| void | print_status_with_related (TextDebugView *view) const |
| void | print_status_with_related (TreeDebugView *view, TreeDebugView::BoxStyle=TreeDebugView::BoxStyle::Solid) const |
| const ClientMarker * | inheritance_root () const |
| instance of ClientMarker who has no inheritance child and is descendant of this ClientMarker More... | |
| const ClientMarker * | inheritance_child () const |
| client that directly inherits this client as inheritance parent in this instance (or null if none does it) More... | |
| std::unordered_set< ClientMarker const * > | inheritance_parents () const |
| Clients directly inherited by this client. More... | |
| const ClientMarker * | relation_root () const |
| consequencial inheritance and ownership root More... | |
| const ClientMarker * | ownership_parent () const |
| std::unordered_set< ClientMarker const * > | ownership_children () const |
Public Member Functions inherited from iv::Context | |
| Context () | |
| virtual | ~Context () |
| template<class ... Items> | |
| void | log (SrcInfo const &info, LogId id, Items const &... items) const |
| bool | log_enabled (LogId id) const |
| template<class ... Items> | |
| void | warning (SrcInfo const &info, Items const &... items) const |
Protected Member Functions | |
| virtual bool | log_process_enabled (LogId id) const override final |
| virtual void | log_process (SrcInfo const &info, LogId id, std::string const &message) const override final |
Detailed Description
If client has status printer member function and is enabled in ClientMarker constructor - ClientMarker( inst, this, "<name>", ClientMarker::Status() ), then it will be used. Signature of status printer: void client_status( iv::TableDebugContext * context );
Definition at line 25 of file ClientMarker.hpp.
Constructor & Destructor Documentation
◆ ClientMarker() [1/3]
| iv::ClientMarker::ClientMarker | ( | Instance * | inst, |
| ClientType * | client, | ||
| const char * | name | ||
| ) |
Definition at line 5 of file ClientMarker.inl.
◆ ClientMarker() [2/3]
| iv::ClientMarker::ClientMarker | ( | Instance * | inst, |
| ClientType * | client, | ||
| const char * | name, | ||
| Status | |||
| ) |
Definition at line 20 of file ClientMarker.inl.
◆ ~ClientMarker()
| iv::ClientMarker::~ClientMarker | ( | ) |
Definition at line 23 of file ClientMarker.cpp.
◆ ClientMarker() [3/3]
|
delete |
Member Function Documentation
◆ operator=()
|
delete |
◆ inherits()
| void iv::ClientMarker::inherits | ( | ClientMarker & | parent, |
| Rest &... | rest | ||
| ) |
Marks client relation - inheritance. Optional - stored only to generate nicer logs and debug outputs.
Definition at line 51 of file ClientMarker.inl.
◆ owns()
| void iv::ClientMarker::owns | ( | ClientMarker & | ownee, |
| Rest &... | rest | ||
| ) |
Marks client relation - ownership. Optional - stored only to generate nicer logs and debug outputs.
Definition at line 65 of file ClientMarker.inl.
◆ client_type()
| std::type_index iv::ClientMarker::client_type | ( | ) | const |
Typeindex of client marked by this marker.
Definition at line 39 of file ClientMarker.cpp.
◆ type()
| std::type_index iv::ClientMarker::type | ( | ) | const |
Alias for client_type.
Definition at line 44 of file ClientMarker.cpp.
◆ client()
| TypedClient * iv::ClientMarker::client |
Definition at line 42 of file ClientMarker.inl.
◆ instance()
| Instance * iv::ClientMarker::instance | ( | ) | const |
Definition at line 49 of file ClientMarker.cpp.
◆ name()
| const std::string & iv::ClientMarker::name | ( | ) | const |
Definition at line 29 of file ClientMarker.cpp.
◆ marker_id()
| unsigned iv::ClientMarker::marker_id | ( | ) | const |
Id unique to ClientMarker's name.
Definition at line 34 of file ClientMarker.cpp.
◆ name_id()
| std::string iv::ClientMarker::name_id | ( | ) | const |
Name concatenated with marker_id with space inbetween.
Definition at line 165 of file ClientMarker.cpp.
◆ root_name_id()
| std::string iv::ClientMarker::root_name_id | ( | ) | const |
Name concatenated with marker_id with space inbetween.
Definition at line 170 of file ClientMarker.cpp.
◆ print_status() [1/2]
| void iv::ClientMarker::print_status | ( | TableDebugView * | view | ) | const |
Definition at line 92 of file ClientMarker.cpp.
◆ print_status() [2/2]
| void iv::ClientMarker::print_status | ( | TextDebugView * | view | ) | const |
Definition at line 98 of file ClientMarker.cpp.
◆ print_status_with_inherited() [1/2]
| void iv::ClientMarker::print_status_with_inherited | ( | TextDebugView * | view, |
| ClientMarker * | emphasize = nullptr |
||
| ) | const |
Definition at line 110 of file ClientMarker.cpp.
◆ print_status_with_inherited() [2/2]
| void iv::ClientMarker::print_status_with_inherited | ( | TreeDebugView * | view, |
| ClientMarker * | emphasize = nullptr |
||
| ) | const |
Definition at line 117 of file ClientMarker.cpp.
◆ print_status_with_related() [1/2]
| void iv::ClientMarker::print_status_with_related | ( | TextDebugView * | view | ) | const |
Definition at line 138 of file ClientMarker.cpp.
◆ print_status_with_related() [2/2]
| void iv::ClientMarker::print_status_with_related | ( | TreeDebugView * | view, |
| TreeDebugView::BoxStyle | box_style = TreeDebugView::BoxStyle::Solid |
||
| ) | const |
Definition at line 145 of file ClientMarker.cpp.
◆ inheritance_root()
| const ClientMarker * iv::ClientMarker::inheritance_root | ( | ) | const |
instance of ClientMarker who has no inheritance child and is descendant of this ClientMarker
Definition at line 54 of file ClientMarker.cpp.
◆ inheritance_child()
| const ClientMarker * iv::ClientMarker::inheritance_child | ( | ) | const |
client that directly inherits this client as inheritance parent in this instance (or null if none does it)
Definition at line 62 of file ClientMarker.cpp.
◆ inheritance_parents()
| std::unordered_set< ClientMarker const * > iv::ClientMarker::inheritance_parents | ( | ) | const |
Clients directly inherited by this client.
Definition at line 67 of file ClientMarker.cpp.
◆ relation_root()
| const ClientMarker * iv::ClientMarker::relation_root | ( | ) | const |
consequencial inheritance and ownership root
Definition at line 72 of file ClientMarker.cpp.
◆ ownership_parent()
| const ClientMarker * iv::ClientMarker::ownership_parent | ( | ) | const |
Definition at line 82 of file ClientMarker.cpp.
◆ ownership_children()
| std::unordered_set< ClientMarker const * > iv::ClientMarker::ownership_children | ( | ) | const |
Definition at line 87 of file ClientMarker.cpp.
◆ log_process_enabled()
|
finaloverrideprotectedvirtual |
Method log_process will not be called if this returns false. This allows us to avoid performance consuming string building.
Implements iv::Context.
Definition at line 175 of file ClientMarker.cpp.
◆ log_process()
|
finaloverrideprotectedvirtual |
Implements iv::Context.
Definition at line 180 of file ClientMarker.cpp.
The documentation for this class was generated from the following files:
- ivorium_core/Instancing/ClientMarker.hpp
- ivorium_core/Instancing/ClientMarker.cpp
- ivorium_core/Instancing/ClientMarker.inl

Public Member Functions inherited from 