MongoDB C++ Driver  mongocxx-3.3.2
All Classes Namespaces Functions Enumerations Enumerator Friends Pages
client_session.hpp
1 // Copyright 2017-present MongoDB Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #pragma once
16 
17 #include <mongocxx/config/prelude.hpp>
18 
19 namespace mongocxx {
20 MONGOCXX_INLINE_NAMESPACE_BEGIN
21 namespace options {
22 
26 class MONGOCXX_API client_session {
27  public:
46  client_session& causal_consistency(bool causal_consistency) noexcept;
47 
51  bool causal_consistency() const noexcept;
52 
58  friend MONGOCXX_API bool MONGOCXX_CALL operator==(const client_session&, const client_session&);
59 
65  friend MONGOCXX_API bool MONGOCXX_CALL operator!=(const client_session&, const client_session&);
66 
67  private:
68  bool _causal_consistency = true;
69 };
70 
76 MONGOCXX_API bool MONGOCXX_CALL operator==(const client_session&, const client_session&);
77 
83 MONGOCXX_API bool MONGOCXX_CALL operator!=(const client_session&, const client_session&);
84 
85 } // namespace options
86 MONGOCXX_INLINE_NAMESPACE_END
87 } // namespace mongocxx
88 
89 #include <mongocxx/config/postlude.hpp>
Top level namespace for the MongoDB C++ driver.
Definition: bulk_write.hpp:24
Class representing the optional arguments to mongocxx::client::start_session.
Definition: client_session.hpp:26