Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
librealsense::composite_matcher Class Referenceabstract

#include <sync.h>

Inheritance diagram for librealsense::composite_matcher:
librealsense::matcher librealsense::matcher_interface librealsense::frame_number_composite_matcher librealsense::timestamp_composite_matcher

Public Member Functions

 composite_matcher (std::vector< std::shared_ptr< matcher >> matchers, std::string name)
 
virtual bool are_equivalent (frame_holder &a, frame_holder &b)=0
 
virtual bool is_smaller_than (frame_holder &a, frame_holder &b)=0
 
virtual bool skip_missing_stream (std::vector< matcher *> synced, matcher *missing)=0
 
virtual void clean_inactive_streams (frame_holder &f)=0
 
virtual void update_last_arrived (frame_holder &f, matcher *m)=0
 
void dispatch (frame_holder f, syncronization_environment env) override
 
std::string frames_to_string (std::vector< librealsense::matcher *> matchers)
 
void sync (frame_holder f, syncronization_environment env) override
 
std::shared_ptr< matcherfind_matcher (const frame_holder &f)
 
- Public Member Functions inherited from librealsense::matcher
 matcher (std::vector< stream_id > streams_id={})
 
virtual void set_callback (sync_callback f)
 
const std::vector< stream_id > & get_streams () const override
 
const std::vector< rs2_stream > & get_streams_types () const override
 
callback_invocation_holder begin_callback ()
 
virtual ~matcher ()
 
virtual std::string get_name () const
 
bool get_active () const
 
void set_active (const bool active)
 

Protected Member Functions

virtual void update_next_expected (const frame_holder &f)=0
 

Protected Attributes

std::map< matcher *, single_consumer_queue< frame_holder > > _frames_queue
 
std::map< stream_id, std::shared_ptr< matcher > > _matchers
 
std::map< matcher *, double > _next_expected
 
std::map< matcher *, rs2_timestamp_domain_next_expected_domain
 
- Protected Attributes inherited from librealsense::matcher
std::vector< stream_id_streams_id
 
std::vector< rs2_stream_streams_type
 
sync_callback _callback
 
callbacks_heap _callback_inflight
 
std::string _name
 
bool _active = true
 

Constructor & Destructor Documentation

◆ composite_matcher()

librealsense::composite_matcher::composite_matcher ( std::vector< std::shared_ptr< matcher >>  matchers,
std::string  name 
)

Member Function Documentation

◆ are_equivalent()

virtual bool librealsense::composite_matcher::are_equivalent ( frame_holder a,
frame_holder b 
)
pure virtual

◆ clean_inactive_streams()

virtual void librealsense::composite_matcher::clean_inactive_streams ( frame_holder f)
pure virtual

◆ dispatch()

void librealsense::composite_matcher::dispatch ( frame_holder  f,
syncronization_environment  env 
)
overridevirtual

◆ find_matcher()

std::shared_ptr<matcher> librealsense::composite_matcher::find_matcher ( const frame_holder f)

◆ frames_to_string()

std::string librealsense::composite_matcher::frames_to_string ( std::vector< librealsense::matcher *>  matchers)

◆ is_smaller_than()

virtual bool librealsense::composite_matcher::is_smaller_than ( frame_holder a,
frame_holder b 
)
pure virtual

◆ skip_missing_stream()

virtual bool librealsense::composite_matcher::skip_missing_stream ( std::vector< matcher *>  synced,
matcher missing 
)
pure virtual

◆ sync()

void librealsense::composite_matcher::sync ( frame_holder  f,
syncronization_environment  env 
)
overridevirtual

Reimplemented from librealsense::matcher.

◆ update_last_arrived()

virtual void librealsense::composite_matcher::update_last_arrived ( frame_holder f,
matcher m 
)
pure virtual

◆ update_next_expected()

virtual void librealsense::composite_matcher::update_next_expected ( const frame_holder f)
protectedpure virtual

Member Data Documentation

◆ _frames_queue

std::map<matcher*, single_consumer_queue<frame_holder> > librealsense::composite_matcher::_frames_queue
protected

◆ _matchers

std::map<stream_id, std::shared_ptr<matcher> > librealsense::composite_matcher::_matchers
protected

◆ _next_expected

std::map<matcher*, double> librealsense::composite_matcher::_next_expected
protected

◆ _next_expected_domain

std::map<matcher*, rs2_timestamp_domain> librealsense::composite_matcher::_next_expected_domain
protected

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