38 std::vector<SearchResultItem> hits);
55 std::shared_ptr<RangeReader> reader_;
58 std::vector<SearchResultItem> hits_;
61 std::uint64_t cursor_ = 0;
62 std::size_t hit_index_ = 0;
63 std::uint64_t produced_ = 0;
95 FcbReader(std::shared_ptr<RangeReader>
reader, HeaderView
header);
97 std::shared_ptr<RangeReader> reader_;
The library's entry point.
FeatureIterator select_bbox(const BBox &query)
Iterate features whose 2D bounding box intersects query.
static FcbReader open(std::shared_ptr< RangeReader > reader)
FeatureIterator select_all()
Iterate every feature in stored (Hilbert) order.
const HeaderView & header() const
FeatureIterator select_attr(const AttrQuery &query, AttrQueryOptions opts={})
Iterate features matching every condition (AND).
static FcbReader open_file(const std::string &path)
Single-pass iterator over features. Not copyable.
std::uint64_t features_count() const
Total features the header claims, for progress reporting.
FeatureIterator & operator=(const FeatureIterator &)=delete
const Feature & current() const
FeatureIterator(const FeatureIterator &)=delete
FeatureIterator & operator=(FeatureIterator &&)=delete
FeatureIterator(FeatureIterator &&)=default
One decoded feature that OWNS the bytes it points into.
IterationMode
How a FeatureIterator decides what to visit.
@ SequentialScan
walk the features section start to finish
@ OffsetList
visit exactly the offsets supplied (possibly none)
std::vector< AttrCondition > AttrQuery
std::uint64_t features_count
One hit from an index traversal.