Go to the documentation of this file.
4 #ifndef ROSBAG_FANCY_BAGREADER_H
5 #define ROSBAG_FANCY_BAGREADER_H
16 #include <boost/make_shared.hpp>
28 :
std::runtime_error{what}
72 ser::IStream stream(
const_cast<uint8_t*
>(
m_data),
m_size);
74 auto ret = boost::make_shared<M>();
75 ser::deserialize(stream, *ret);
79 const uint8_t*
data()
const
120 std::shared_ptr<Private>
m_d;
143 void advanceWithPredicates(
const std::function<
bool(
const ConnectionInfo&)>& connPredicate,
const std::function<
bool(
const Message&)>& messagePredicate);
144 void findNextWithPredicates(
const std::function<
bool(
const ConnectionInfo&)>& connPredicate,
const std::function<
bool(
const Message&)>& messagePredicate);
149 std::vector<ConnectionInfo>& currentChunkConnections()
const;
166 explicit BagReader(
const std::string& filename);
191 std::unique_ptr<Private>
m_d;
198 namespace message_traits
230 namespace serialization
235 template<
typename Stream>
const uint8_t * data() const
static const char * value(const rosbag_fancy::BagReader::Message &m)
ChunkIterator operator++(int)
BagReader & operator=(const BagReader &)=delete
bool operator==(const BagView::Iterator &a, const BagView::Iterator &b)
static uint32_t serializedLength(const rosbag_fancy::BagReader::Message &t)
Iterator chunkBegin(int chunk) const
const Connection * connection
ros::Time endTime() const
ROS_FORCE_INLINE uint8_t * advance(uint32_t len)
std::input_iterator_tag iterator_category
decltype(sizeof(void *)) typede size_t)
boost::shared_ptr< M > instantiate() const
const BagReader * m_reader
std::shared_ptr< Private > m_d
static const char * value(const rosbag_fancy::BagReader::Message &m)
std::map< std::uint32_t, Connection > ConnectionMap
const ConnectionMap & connections() const
std::size_t numChunks() const
static const char * value(const rosbag_fancy::BagReader::Message &m)
std::unique_ptr< Private > m_d
int findChunk(const ros::Time &time) const
Exception(const std::string &what)
std::string topicAsPublished
static void write(Stream &stream, const rosbag_fancy::BagReader::Message &t)
BagReader(const std::string &filename)
std::input_iterator_tag iterator_category
Iterator findTime(const ros::Time &time) const
bool operator!=(const BagView::Iterator &a, const BagView::Iterator &b)
ros::Time startTime() const
rosbag_fancy
Author(s):
autogenerated on Tue Feb 20 2024 03:20:59