reduce include dependencies of DelStash
...get rid of some further Boost includes and remove unnecessary disable_if
This commit is contained in:
parent
f0eeafddaa
commit
992056ea69
2 changed files with 9 additions and 26 deletions
|
|
@ -47,16 +47,12 @@
|
|||
#include "lib/error.hpp"
|
||||
#include "lib/nocopy.hpp"
|
||||
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace lib {
|
||||
|
||||
using boost::disable_if_c;
|
||||
using boost::is_same;
|
||||
|
||||
/**
|
||||
* Manage a collection of deleter functions.
|
||||
|
|
@ -82,14 +78,14 @@ namespace lib {
|
|||
|
||||
public:
|
||||
Killer(KillFun* f, void* t)
|
||||
: target_(t)
|
||||
, killIt_(f)
|
||||
: target_{t}
|
||||
, killIt_{f}
|
||||
{
|
||||
REQUIRE(f);
|
||||
}
|
||||
|
||||
void
|
||||
trigger ()
|
||||
trigger()
|
||||
{
|
||||
if (target_)
|
||||
killIt_(target_);
|
||||
|
|
@ -115,7 +111,7 @@ namespace lib {
|
|||
public:
|
||||
DelStash (size_t elms_to_reserve =0)
|
||||
: killers_()
|
||||
{
|
||||
{
|
||||
if (elms_to_reserve)
|
||||
{
|
||||
killers_.reserve (elms_to_reserve);
|
||||
|
|
@ -144,14 +140,10 @@ namespace lib {
|
|||
}
|
||||
|
||||
|
||||
#define __DONT_USE_THIS_OVERLOAD_FOR_VOID_POINTER_ \
|
||||
typename disable_if_c< is_same<TY,void>::value \
|
||||
||is_same<TY,void*>::value>::type* =0
|
||||
|
||||
|
||||
template<typename TY>
|
||||
void
|
||||
manage (TY* obj, __DONT_USE_THIS_OVERLOAD_FOR_VOID_POINTER_)
|
||||
manage (TY* obj)//, __disable_if_voidPtr<TY> =0)
|
||||
{
|
||||
if (!obj) return;
|
||||
REQUIRE (!isRegistered (obj));
|
||||
|
|
@ -160,21 +152,12 @@ namespace lib {
|
|||
|
||||
template<typename TY>
|
||||
void
|
||||
manage (TY& obj, __DONT_USE_THIS_OVERLOAD_FOR_VOID_POINTER_)
|
||||
manage (TY& obj)//, __disable_if_voidPtr<TY> =0)
|
||||
{
|
||||
REQUIRE (!isRegistered (&obj));
|
||||
killers_.push_back (Killer (how_to_kill<TY>, &obj));
|
||||
}
|
||||
|
||||
template<typename TY>
|
||||
void
|
||||
manage (void* obj)
|
||||
{
|
||||
if (!obj) return;
|
||||
REQUIRE (!isRegistered (obj));
|
||||
killers_.push_back (Killer (how_to_kill<TY>, obj));
|
||||
}
|
||||
|
||||
void
|
||||
manage (void* obj, KillFun* customDeleter)
|
||||
{
|
||||
|
|
@ -231,7 +214,7 @@ namespace lib {
|
|||
findEntry (const void* obj)
|
||||
{
|
||||
REQUIRE (obj);
|
||||
return std::find(killers_.begin(),killers_.end(), obj);
|
||||
return std::find (killers_.begin(),killers_.end(), obj);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace test{
|
|||
|
||||
killer.manage (p);
|
||||
killer.manage (r);
|
||||
killer.manage<Probe<9>> (v);
|
||||
killer.manage (static_cast<Probe<9>*> (v));
|
||||
|
||||
CHECK (3 == killer.size());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue