You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2019/01/06 11:09:02 UTC
svn commit: r1850538 - in /subversion/trunk/subversion/bindings/cxx/src:
client_status.cpp private.hpp private/client_context_private.hpp
private/client_private.hpp
Author: brane
Date: Sun Jan 6 11:09:02 2019
New Revision: 1850538
URL: http://svn.apache.org/viewvc?rev=1850538&view=rev
Log:
Remove the nonsense with multiple implementation namespaces in SVN++.
[in subversion/bindings/cxx/src]
* private/client_context_private.hpp
(client::impl::context): Removed, along with its namespace.
(impl::unwrap): New. We'll rely on overload resolution instead.
* private/client_private.hpp: Removed, it's no longer needed.
* private.hpp: Do not include private/client_private.hpp.
* client_status.cpp (client::status): Update implementation.
Removed:
subversion/trunk/subversion/bindings/cxx/src/private/client_private.hpp
Modified:
subversion/trunk/subversion/bindings/cxx/src/client_status.cpp
subversion/trunk/subversion/bindings/cxx/src/private.hpp
subversion/trunk/subversion/bindings/cxx/src/private/client_context_private.hpp
Modified: subversion/trunk/subversion/bindings/cxx/src/client_status.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/cxx/src/client_status.cpp?rev=1850538&r1=1850537&r2=1850538&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/cxx/src/client_status.cpp (original)
+++ subversion/trunk/subversion/bindings/cxx/src/client_status.cpp Sun Jan 6 11:09:02 2019
@@ -54,7 +54,6 @@ struct status_func
return SVN_NO_ERROR;
}
};
-
} // anonymous namespace
revision::number
@@ -62,15 +61,15 @@ status(context& ctx_, const char* path,
revision rev_, depth depth, status_flags flags,
status_callback callback_)
{
- const auto& ctx = impl::context::unwrap(ctx_);
- const auto rev = svnxx::impl::convert(rev_);
+ const auto& ctx = impl::unwrap(ctx_);
+ const auto rev = impl::convert(rev_);
const apr::pool scratch_pool(&ctx.get_pool());
status_func callback{callback_};
svn_revnum_t result;
impl::checked_call(
svn_client_status6(&result, ctx.get(), path, &rev,
- svnxx::impl::convert(depth),
+ impl::convert(depth),
bool(flags & status_flags::get_all),
bool(flags & status_flags::check_out_of_date),
bool(flags & status_flags::check_working_copy),
Modified: subversion/trunk/subversion/bindings/cxx/src/private.hpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/cxx/src/private.hpp?rev=1850538&r1=1850537&r2=1850538&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/cxx/src/private.hpp (original)
+++ subversion/trunk/subversion/bindings/cxx/src/private.hpp Sun Jan 6 11:09:02 2019
@@ -30,7 +30,6 @@
#include "private/strings_private.hpp"
#include "private/tristate_private.hpp"
-#include "private/client_private.hpp"
#include "private/client_context_private.hpp"
#endif // SVNXX_PRIVATE_PRIVATE_HPP
Modified: subversion/trunk/subversion/bindings/cxx/src/private/client_context_private.hpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/cxx/src/private/client_context_private.hpp?rev=1850538&r1=1850537&r2=1850538&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/cxx/src/private/client_context_private.hpp (original)
+++ subversion/trunk/subversion/bindings/cxx/src/private/client_context_private.hpp Sun Jan 6 11:09:02 2019
@@ -55,27 +55,21 @@ private:
};
} // namespace detail
+} // namespace client
namespace impl {
// TODO: document this
-class context : public client::context
+inline client::detail::context& unwrap(client::context& ctx)
{
-public:
- static detail::context& unwrap(client::context& ctx)
- {
- return *static_cast<context&>(ctx).get();
- }
-
-private:
- using inherited::get;
+ struct context_wrapper : public client::context
+ {
+ using inherited::get;
+ };
- context() = delete;
- context(const context&) = delete;
- context(context&&) = delete;
-};
+ return *static_cast<context_wrapper&>(ctx).get();
+}
} // namesapce impl
-} // namespace client
} // namespace svnxx
} // namespace subversion
} // namespace apache