20 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
22 #pragma warning(disable : 4251)
36 static const int64_t SEQUENCE_UNAVAILABLE = -1;
40 std::vector<serialization::pimpl::data>&& data_items,
41 serialization::pimpl::SerializationService& serialization_service,
42 boost::optional<std::vector<int64_t>>& item_seqs,
44 : items_read_count_(read_count)
45 , item_seqs_(std::move(item_seqs))
48 for (
auto&& item : data_items) {
49 items_.emplace_back(item, serialization_service);
68 const std::vector<typed_data>& get_items()
const {
return items_; }
80 if (index >= (int32_t)item_seqs_->size() || index < 0) {
81 BOOST_THROW_EXCEPTION(
83 "read_result_set::getSequence")
85 <<
" is out of bounds. Sequences size is:" << item_seqs_->size())
89 return (*item_seqs_)[index];
117 int32_t items_read_count_;
118 std::vector<typed_data> items_;
119 boost::optional<std::vector<int64_t>> item_seqs_;
126 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
int64_t get_sequence(int32_t index) const
Return the sequence number for the item at the given index.
int32_t read_count() const
Returns the number of items that have been read before filtering.
int64_t get_next_sequence_to_read_from() const
Returns the sequence of the item following the last read item.