You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/09/16 22:20:33 UTC

svn commit: r997914 - in /subversion/branches/object-model/subversion: bindings/c++/Pool.cpp bindings/c++/include/Pool.h tests/libsvn++/util-test.cpp

Author: hwright
Date: Thu Sep 16 20:20:32 2010
New Revision: 997914

URL: http://svn.apache.org/viewvc?rev=997914&view=rev
Log:
On the object-model branch:
Add a method to grab memory from a Pool.

* subversion/bindings/c++/include/Pool.h
  (alloc): New.

* subversion/bindings/c++/Pool.cpp
  (Pool::alloc): New.

* subversion/tests/libsvn++/util-test.cpp
  (test_pools): Exercise the new API.

Modified:
    subversion/branches/object-model/subversion/bindings/c++/Pool.cpp
    subversion/branches/object-model/subversion/bindings/c++/include/Pool.h
    subversion/branches/object-model/subversion/tests/libsvn++/util-test.cpp

Modified: subversion/branches/object-model/subversion/bindings/c++/Pool.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/Pool.cpp?rev=997914&r1=997913&r2=997914&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/bindings/c++/Pool.cpp (original)
+++ subversion/branches/object-model/subversion/bindings/c++/Pool.cpp Thu Sep 16 20:20:32 2010
@@ -41,6 +41,12 @@ Pool::Pool(SVN::Pool::Pool &parent)
   m_pool = svn_pool_create(parent.pool());
 }
 
+void *
+Pool::alloc(apr_size_t sz)
+{
+  return apr_palloc(m_pool, sz);
+}
+
 Pool::~Pool()
 {
   if (m_pool)

Modified: subversion/branches/object-model/subversion/bindings/c++/include/Pool.h
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/bindings/c%2B%2B/include/Pool.h?rev=997914&r1=997913&r2=997914&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/bindings/c++/include/Pool.h (original)
+++ subversion/branches/object-model/subversion/bindings/c++/include/Pool.h Thu Sep 16 20:20:32 2010
@@ -57,6 +57,8 @@ namespace SVN
       Pool();
       Pool(Pool &parent);
       ~Pool();
+
+      void *alloc(apr_size_t sz);
       apr_pool_t *pool() const;
       void clear() const;
   };

Modified: subversion/branches/object-model/subversion/tests/libsvn++/util-test.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/object-model/subversion/tests/libsvn%2B%2B/util-test.cpp?rev=997914&r1=997913&r2=997914&view=diff
==============================================================================
--- subversion/branches/object-model/subversion/tests/libsvn++/util-test.cpp (original)
+++ subversion/branches/object-model/subversion/tests/libsvn++/util-test.cpp Thu Sep 16 20:20:32 2010
@@ -34,6 +34,8 @@ test_pools(apr_pool_t *p)
   // We ignore the passed in pool, in favor of creating our own.
   Pool pool;
 
+  void *mem = pool.alloc(1000);
+
   pool.clear();
 
   return SVN_NO_ERROR;