diff liboctave/util/oct-alloc.h @ 19632:76478d2da117

unconditionally disable the octave_allocator class * configure.ac: Delete the --enable-octave-allocator option. * oct-alloc.h: Delete octave_allocator class. Warn if file is included. Unconditionally define macros to be empty. * NEWS: Make note of these changes. * oct-alloc.cc: Delete. * liboctave/util/module.mk (UTIL_SRC): Remove it from the list. * make_int.cc, Cell.h, oct-obj.cc, oct-obj.h, audiodevinfo.cc, ov-base-int.h, ov-base-scalar.h, ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, ov-bool.cc, ov-bool.h, ov-builtin.cc, ov-builtin.h, ov-cell.cc, ov-cell.h, ov-ch-mat.h, ov-class.cc, ov-class.h, ov-classdef.cc, ov-classdef.h, ov-complex.cc, ov-complex.h, ov-cs-list.cc, ov-cs-list.h, ov-cx-diag.cc, ov-cx-diag.h, ov-cx-mat.cc, ov-cx-mat.h, ov-cx-sparse.cc, ov-cx-sparse.h, ov-dld-fcn.cc, ov-dld-fcn.h, ov-fcn-handle.cc, ov-fcn-handle.h, ov-fcn-inline.cc, ov-fcn-inline.h, ov-fcn.cc, ov-fcn.h, ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-diag.cc, ov-flt-cx-diag.h, ov-flt-cx-mat.cc, ov-flt-cx-mat.h, ov-flt-re-diag.cc, ov-flt-re-diag.h, ov-flt-re-mat.cc, ov-flt-re-mat.h, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-intx.h, ov-java.cc, ov-java.h, ov-mex-fcn.cc, ov-mex-fcn.h, ov-perm.cc, ov-perm.h, ov-range.cc, ov-range.h, ov-re-diag.cc, ov-re-diag.h, ov-re-mat.cc, ov-re-mat.h, ov-re-sparse.cc, ov-re-sparse.h, ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, ov-str-mat.h, ov-struct.cc, ov-struct.h, ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, ov-usr-fcn.h, ov.cc, ov.h, pt-const.cc, pt-const.h, idx-vector.cc, idx-vector.h: Delete uses of oct-alloc.h and OCTAVE_ALLOCATOR macros.
author John W. Eaton <jwe@octave.org>
date Tue, 20 Jan 2015 13:43:29 -0500
parents d63878346099
children 4197fc428c7d
line wrap: on
line diff
--- a/liboctave/util/oct-alloc.h	Tue Jan 20 10:29:54 2015 -0500
+++ b/liboctave/util/oct-alloc.h	Tue Jan 20 13:43:29 2015 -0500
@@ -23,79 +23,10 @@
 #if !defined (octave_oct_alloc_h)
 #define octave_oct_alloc_h 1
 
-#include <cstddef>
-
-class
-OCTAVE_API
-octave_allocator
-{
-public:
-
-  octave_allocator (size_t item_sz, int grow_sz = 256)
-    : head (0), grow_size (grow_sz),
-      item_size (item_sz > sizeof (link *) ? item_sz : sizeof (link *))
-  { }
-
-  // Get an object from the free list, possibly increasing the size of
-  // the free list.
-  void *alloc (size_t size);
-
-  // Put objects back on the free list.
-  void free (void *p, size_t size);
-
-private:
-
-  // Structure for internal free list management.
-  struct link { link *next; };
-
-  // Front of the free list.
-  link *head;
-
-  // How many objects to get each time we call the global operator new.
-  int grow_size;
-
-  // The size of each item on the list (or, if that is smaller than
-  // the size of list*, the size of list*.
-  size_t item_size;
-
-  // How to grow the free list.
-  bool grow (void);
-};
-
-#if defined (HAVE_PLACEMENT_DELETE)
-#define DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
-    void operator delete (void *p, void *) \
-      { ::operator delete (p, static_cast<void*> (0)); }
-#else
-#define DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
-    void operator delete (void *p, void *) \
-      { ::operator delete (p); }
-#endif
-
-#if defined (USE_OCTAVE_ALLOCATOR)
-
-#define DECLARE_OCTAVE_ALLOCATOR \
-  public: \
-    void *operator new (size_t size, void *p) \
-      { return ::operator new (size, p); } \
-    DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
-    void *operator new (size_t size) { return allocator.alloc (size); } \
-    void operator delete (void *p, size_t size) { allocator.free (p, size); } \
-  private: \
-    static octave_allocator allocator;
-
-#define DEFINE_OCTAVE_ALLOCATOR(t) \
-  octave_allocator t::allocator (sizeof (t))
-
-#define DEFINE_OCTAVE_ALLOCATOR2(t, s) \
-  octave_allocator t::allocator (sizeof (t), s)
-
-#else
+#warning "the octave_allocator class has been deprecated and will be removed in a future release of Octave"
 
 #define DECLARE_OCTAVE_ALLOCATOR
 #define DEFINE_OCTAVE_ALLOCATOR(t)
 #define DEFINE_OCTAVE_ALLOCATOR2(t, s)
 
 #endif
-
-#endif