41 : query_(query), start_time_(start_time), end_time_(end_time)
55 topics_.push_back(topic);
67 types_.push_back(type);
78 BagQuery::BagQuery(
Bag const* _bag,
Query const& _query, uint32_t _bag_revision) : bag(_bag), query(_query), bag_revision(_bag_revision) {
84 std::multiset<IndexEntry>::const_iterator
const& _end,
87 : begin(_begin), end(_end), connection_info(_connection_info), bag_query(_bag_query)
94 : iter(_iter), range(_range)
99 return (a.
iter)->time > (b.
iter)->time;
TypeQuery(std::string const &type)
bool operator()(ViewIterHelper const &a, ViewIterHelper const &b)
boost::function< bool(ConnectionInfo const *)> query_
The actual iterator data structure.
std::vector< std::string > topics_
ViewIterHelper(std::multiset< IndexEntry >::const_iterator _iter, MessageRange const *_range)
std::vector< std::string > types_
MessageRange(std::multiset< IndexEntry >::const_iterator const &_begin, std::multiset< IndexEntry >::const_iterator const &_end, ConnectionInfo const *_connection_info, BagQuery const *_bag_query)
ros::Time const & getEndTime() const
Get the end-time.
BagQuery(Bag const *_bag, Query const &_query, uint32_t _bag_revision)
std::multiset< IndexEntry >::const_iterator iter
bool operator()(ConnectionInfo const *) const
Pairs of queries and the bags they come from (used internally by View)
ros::Time const & getStartTime() const
Get the start-time.
Query(boost::function< bool(ConnectionInfo const *)> &query, ros::Time const &start_time=ros::TIME_MIN, ros::Time const &end_time=ros::TIME_MAX)
The base query takes an optional time-range.
bool operator()(ConnectionInfo const *) const
boost::function< bool(ConnectionInfo const *)> const & getQuery() const
Get the query functor.
TopicQuery(std::string const &topic)