[PPL-devel] [GIT] ppl/ppl(master): Better documentation for the two Row_Impl::Impl:: operator delete(...).
Enea Zaffanella
zaffanella at cs.unipr.it
Thu Apr 8 15:59:19 CEST 2010
Module: ppl/ppl
Branch: master
Commit: 039e6ba85aa460c8b0fc723ee6ed344dad2db8bb
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=039e6ba85aa460c8b0fc723ee6ed344dad2db8bb
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Thu Apr 8 15:57:50 2010 +0200
Better documentation for the two Row_Impl::Impl::operator delete(...).
---
src/Row.defs.hh | 31 +++++++++++++++++++++++--------
1 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/src/Row.defs.hh b/src/Row.defs.hh
index 0f1ef26..f1b147c 100644
--- a/src/Row.defs.hh
+++ b/src/Row.defs.hh
@@ -390,19 +390,34 @@ public:
//! \name Custom allocator and deallocator
//@{
- /*! \brief
- Allocates a chunk of memory able to contain \p capacity Coefficient objects
- beyond the specified \p fixed_size and returns a pointer to the new
- allocated memory.
+ //! Placement allocation function.
+ /*!
+ Allocates a chunk of memory able to contain \p capacity Coefficient
+ objects beyond the specified \p fixed_size and returns a pointer to
+ the newly allocated memory.
*/
static void* operator new(size_t fixed_size, dimension_type capacity);
- //! Uses the standard delete operator to free the memory \p p points to.
+ //! Usual (non-placement) deallocation function.
+ /*!
+ Uses the standard delete operator to free the memory \p p points to.
+
+ \note
+ The definition of this custom deallocation function is required
+ since otherwise the placement deallocation function
+ <code>
+ static void operator delete(void* p, dimension_type capacity);
+ </code>
+ would be wrongly interpreted as a usual (non-placement) deallocation
+ function (see C++98 3.7.3.2p2). This happens because \c dimension_type
+ is just an alias for \c std::size_t.
+ See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
+ */
static void operator delete(void* p);
- /*! \brief
- Placement version:
- uses the standard operator delete to free the memory \p p points to.
+ //! Placement deallocation function.
+ /*!
+ Uses the standard operator delete to free the memory \p p points to.
*/
static void operator delete(void* p, dimension_type capacity);
//@} // Custom allocator and deallocator
More information about the PPL-devel
mailing list