22 #include <bsoncxx/document/view_or_value.hpp>
23 #include <bsoncxx/stdx/optional.hpp>
24 #include <mongocxx/options/transaction.hpp>
25 #include <mongocxx/stdx.hpp>
27 #include <mongocxx/config/prelude.hpp>
30 MONGOCXX_INLINE_NAMESPACE_BEGIN
38 class topology_description;
94 k_secondary_preferred,
200 stdx::optional<
bsoncxx::document::view> tags() const;
239 stdx::optional<std::chrono::seconds> max_staleness() const;
266 const stdx::optional<
bsoncxx::document::view> hedge() const;
272 friend options::transaction;
273 friend events::topology_description;
283 friend MONGOCXX_API
bool MONGOCXX_CALL operator==(const
read_preference&,
285 friend MONGOCXX_API
bool MONGOCXX_CALL operator!=(const
read_preference&,
291 class MONGOCXX_PRIVATE impl;
293 MONGOCXX_PRIVATE
read_preference(std::unique_ptr<impl>&& implementation);
295 std::unique_ptr<impl> _impl;
298 MONGOCXX_INLINE_NAMESPACE_END
301 #include <mongocxx/config/postlude.hpp>