21 #include <bsoncxx/document/value.hpp>
22 #include <bsoncxx/document/view.hpp>
23 #include <bsoncxx/stdx/optional.hpp>
24 #include <bsoncxx/types/bson_value/view.hpp>
25 #include <mongocxx/cursor.hpp>
26 #include <mongocxx/stdx.hpp>
28 #include <mongocxx/config/prelude.hpp>
31 MONGOCXX_INLINE_NAMESPACE_BEGIN
35 std::int32_t chunks_offset = 0;
36 std::int32_t bytes_offset = 0;
74 explicit operator bool()
const noexcept;
96 std::size_t read(std::uint8_t* buffer, std::size_t length);
111 std::int32_t chunk_size()
const;
119 std::int64_t file_length()
const;
151 MONGOCXX_PRIVATE
downloader(stdx::optional<cursor> chunks,
153 std::int32_t chunk_size,
154 std::int64_t file_len,
157 MONGOCXX_PRIVATE
void fetch_chunk();
159 class MONGOCXX_PRIVATE impl;
161 MONGOCXX_PRIVATE impl& _get_impl();
162 MONGOCXX_PRIVATE
const impl& _get_impl()
const;
164 std::unique_ptr<impl> _impl;
168 MONGOCXX_INLINE_NAMESPACE_END