Use "xplcdelete" instead of "delete" when you know what you are doing.
Definition in file delete.h.
#include <new>
#include <memory>
#include <xplc/IObject.h>
Include dependency graph for delete.h:
Go to the source code of this file.
Classes | |
class | CheckIObject |
class | CheckIObjectOk |
class | CheckIObjectOkVector |
class | ConversionIObject< T > |
struct | ConversionIObject< T >::No |
struct | XPLC_CTAssert< true > |
Defines | |
#define | xplcdelete CheckIObjectOk() && |
Macro used to indicate a valid use of the delete keyword with an XPLC interface. | |
#define | delete CheckIObject() && |
Overriding the delete keyword. | |
#define | deletev CheckIObjectOkVector() && |
Remplacement for delete[]. | |
Functions | |
template<class T> | |
void | operator && (CheckIObject, const T *obj) |
template<class T> | |
void | operator && (CheckIObjectOk, const T *obj) |
template<class T> | |
void | operator && (CheckIObjectOkVector, const T *obj) |
|
Macro used to indicate a valid use of the delete keyword with an XPLC interface. In some cases, you really need to use delete on an object that derives from IObject. In those cases, use "xplcdelete" instead of "delete". |
|
Overriding the delete keyword. This replaces the delete keyword with an invocation of the operator&& using a specific marker class as the left operand, allowing it to be templated on the right operand. |
|
Remplacement for delete[]. Because we cannot capture usage of delete[] using macros, we have to add a replacement for it, unfortunately. Definition at line 129 of file delete.h. Referenced by MemOps::deletearray(), WvX509Mgr::hexify(), hostname(), WvSorterBase::rewind(), WvCounterModeEncoder::setcounter(), WvBlowfishEncoder::setkey(), WvSubProc::start_again(), WvX509Mgr::unhexify(), wvgetcwd(), WvHashTable< WvMapPair< void *, UniConfGenCallback >, void *, WvMap< void *, UniConfGenCallback, OpEqComp, WvHashTable >, OpEqComp >::zap(), WvBlowfishEncoder::~WvBlowfishEncoder(), WvCounterModeEncoder::~WvCounterModeEncoder(), WvHashTable< WvMapPair< void *, UniConfGenCallback >, void *, WvMap< void *, UniConfGenCallback, OpEqComp, WvHashTable >, OpEqComp >::~WvHashTable(), WvHMACDigest::~WvHMACDigest(), WvScatterHashBase::~WvScatterHashBase(), WvSorterBase::~WvSorterBase(), WvWordWrapEncoder::~WvWordWrapEncoder(), and WvXOREncoder::~WvXOREncoder(). |