Loading...
Searching...
No Matches
topology_description.hpp
Go to the documentation of this file.
// Copyright 2009-present MongoDB, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include <mongocxx/v1/events/topology_description-fwd.hpp> // IWYU pragma: export
//
#include <mongocxx/v1/detail/prelude.hpp>
#include <mongocxx/v1/events/server_description-fwd.hpp>
#include <mongocxx/v1/read_preference-fwd.hpp>
#include <bsoncxx/v1/stdx/string_view.hpp>
#include <mongocxx/v1/config/export.hpp>
#include <vector>
namespace mongocxx {
namespace v1 {
namespace events {
class topology_description {
private:
void const* _impl; // mongoc_topology_description_t const
public:
MONGOCXX_ABI_EXPORT_CDECL(bsoncxx::v1::stdx::string_view) type() const;
MONGOCXX_ABI_EXPORT_CDECL(bool) has_readable_server(v1::read_preference const& rp) const;
MONGOCXX_ABI_EXPORT_CDECL(bool) has_writable_server() const;
MONGOCXX_ABI_EXPORT_CDECL(std::vector<v1::events::server_description>) servers() const;
class internal;
private:
/* explicit(false) */ topology_description(void const* impl);
};
} // namespace events
} // namespace v1
} // namespace mongocxx
#include <mongocxx/v1/detail/postlude.hpp>
bsoncxx::v1::stdx::string_view
A polyfill for std::string_view.
Definition string_view.hpp:412
mongocxx::v1::events::topology_description::servers
std::vector< v1::events::server_description > servers() const
Return the server descriptions for all servers in this topology description.
mongocxx::v1::events::topology_description::type
bsoncxx::v1::stdx::string_view type() const
Return the topology type.
mongocxx::v1::events::topology_description::has_writable_server
bool has_writable_server() const
Return true when a writable server is available according to this topology description.
mongocxx::v1::events::topology_description::has_readable_server
bool has_readable_server(v1::read_preference const &rp) const
Return true when a readable server is available according to this topology description.
mongocxx::v1::read_preference
Options related to a MongoDB Read Preference.
Definition read_preference.hpp:47
export.hpp
Provides macros to control the set of symbols exported in the ABI.
MONGOCXX_ABI_EXPORT_CDECL
#define MONGOCXX_ABI_EXPORT_CDECL(...)
Equivalent to MONGOCXX_ABI_EXPORT with MONGOCXX_ABI_CDECL.
Definition export.hpp:52
postlude.hpp
The mongocxx v1 macro guard postlude header.
prelude.hpp
The mongocxx v1 macro guard prelude header.
mongocxx::v1::events
Declares entities describing APM events.
mongocxx::v1
Declares entities whose ABI stability is guaranteed for documented symbols.
mongocxx
The top-level namespace within which all mongocxx library entities are declared.
server_description-fwd.hpp
Declares mongocxx::v1::events::server_description.
topology_description-fwd.hpp
Declares mongocxx::v1::events::topology_description.
read_preference-fwd.hpp
Declares mongocxx::v1::read_preference.
string_view.hpp
Provides std::string_view-related polyfills for library API usage.