ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor, const ClusterClientCursorParams& params, const std::vector<HostAndPort>& remotes) : _root(buildMergerPlan(executor, params, remotes)) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(OperationContext* opCtx, executor::TaskExecutor* executor, ClusterClientCursorParams&& params, boost::optional<LogicalSessionId> lsid) : _params(std::move(params)), _root(buildMergerPlan(opCtx, executor, &_params)), _lsid(lsid) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor, ClusterClientCursorParams params) : _isTailable(params.isTailable), _root(buildMergerPlan(executor, std::move(params))) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor, ClusterClientCursorParams&& params) : _params(std::move(params)), _root(buildMergerPlan(executor, &_params)) {}