When calling gr::block::get_tags_in_range() or
gr::block::get_tags_in_window(), does the GNU Radio API guarantee that
returned vector will be sorted based upon the tag offsets (from
Since the API docs  do not explicitly state this to be the case, I
assume the answer is “No.”
Additionally, I see the wiki  seems to confirm this:
“Any tag that is connected to the first 100 items will be placed into
vector, although not in any specific order.”
However, after a cursory review of the underlying
buffer_reader::get_tags_in_range() and related functions, I see that the
tags are stored in a std::multimap with the offset as the key (thereby
sorting entries via the offset).
This map appears to be iterated over from start offset to end offset
inserting tags into the std::vectorgr::tags_t. Therefore, this should
return them ordered, as I desire in this case.
Just curious if anyone could comment on/correct the above observations,
well as elaborate on exactly what the API shall (not) guarantee,
of the current implementation.