You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@locus.apache.org on 2000/07/11 23:03:34 UTC
cvs commit: xml-xalan/c/src/PlatformSupport ArenaAllocator.hpp ReusableArenaAllocator.hpp
dbertoni 00/07/11 14:03:33
Modified: c/src/PlatformSupport ArenaAllocator.hpp
ReusableArenaAllocator.hpp
Log:
Made destructor virtual. Added member function to reset the allocator.
Revision Changes Path
1.4 +16 -7 xml-xalan/c/src/PlatformSupport/ArenaAllocator.hpp
Index: ArenaAllocator.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/ArenaAllocator.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ArenaAllocator.hpp 2000/07/10 22:45:28 1.3
+++ ArenaAllocator.hpp 2000/07/11 21:03:31 1.4
@@ -108,15 +108,10 @@
{
}
+ virtual
~ArenaAllocator()
{
-#if !defined(XALAN_NO_NAMESPACES)
- using std::for_each;
-#endif
-
- for_each(m_blocks.begin(),
- m_blocks.end(),
- ArenaDeleteFunctor<ArenaBlockType>());
+ reset();
}
/*
@@ -175,6 +170,20 @@
m_blocks.back()->commitAllocation(theObject);
assert(m_blocks.back()->ownsObject(theObject) == true);
+ }
+
+ void
+ reset()
+ {
+#if !defined(XALAN_NO_NAMESPACES)
+ using std::for_each;
+#endif
+
+ for_each(m_blocks.begin(),
+ m_blocks.end(),
+ ArenaDeleteFunctor<ArenaBlockType>());
+
+ m_blocks.clear();
}
protected:
1.6 +1 -0 xml-xalan/c/src/PlatformSupport/ReusableArenaAllocator.hpp
Index: ReusableArenaAllocator.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/ReusableArenaAllocator.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ReusableArenaAllocator.hpp 2000/07/10 22:45:28 1.5
+++ ReusableArenaAllocator.hpp 2000/07/11 21:03:31 1.6
@@ -105,6 +105,7 @@
{
}
+ virtual
~ReusableArenaAllocator()
{
}