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