|
libtcspc C++ API
Streaming TCSPC and time tag data processing
|
Tracker that mediates access to objects via a tcspc::context.
This is a movable (noncopyable) object that tracks its address when moved. The address is stored in the associated tcspc::context from which the tracker was created.
An object stores the tracker instance as a data member and also registers an access factory in its constructor. This allows code to later access the object state, even after the tracked object has been embedded in an outer object (as with a processor incorporated into a processing graph).
| Access | type of access interface for the tracked object |
Public Member Functions | |
| access_tracker ()=default | |
| Construct an empty tracker. | |
| template<typename F> | |
| void | register_access_factory (F factory) |
| Register an access factory with this tracker's context. | |
Friends | |
| class | context |
|
default |
Construct an empty tracker.
Empty instances cannot be used other than by assigning a non-empty instance.
Non-empty instances can only be obtained from a tcspc::context.
|
inline |
Register an access factory with this tracker's context.
This is usually called in the tracked object's constructor to arrange for later access to the object via its corresponding access type.
| F | factory function type |
| factory | function taking reference to this tracker and returning the access object of type Access |