- Fixed build failures with gcc 4.3 pre-release
(http://bugs.debian.org/413432) git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@823 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
2fdafe3884
commit
214635bfc1
13 changed files with 41 additions and 39 deletions
|
@ -491,7 +491,7 @@ namespace Loki
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual ~EvictRandom(){};
|
virtual ~EvictRandom(){}
|
||||||
|
|
||||||
void onCreate(const DT&){
|
void onCreate(const DT&){
|
||||||
}
|
}
|
||||||
|
@ -662,7 +662,7 @@ namespace Loki
|
||||||
public CreationPolicy, public StatisticPolicy, EvictionPolicy< AbstractProduct * , unsigned >
|
public CreationPolicy, public StatisticPolicy, EvictionPolicy< AbstractProduct * , unsigned >
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
typedef Factory< AbstractProduct, IdentifierType, CreatorParmTList, FactoryErrorPolicy> Factory;
|
typedef Factory< AbstractProduct, IdentifierType, CreatorParmTList, FactoryErrorPolicy> MyFactory;
|
||||||
typedef FactoryImpl< AbstractProduct, IdentifierType, CreatorParmTList > Impl;
|
typedef FactoryImpl< AbstractProduct, IdentifierType, CreatorParmTList > Impl;
|
||||||
typedef Functor< AbstractProduct* , CreatorParmTList > ProductCreator;
|
typedef Functor< AbstractProduct* , CreatorParmTList > ProductCreator;
|
||||||
typedef EncapsulationPolicy<AbstractProduct> NP;
|
typedef EncapsulationPolicy<AbstractProduct> NP;
|
||||||
|
@ -689,16 +689,16 @@ namespace Loki
|
||||||
public:
|
public:
|
||||||
typedef typename NP::ProductReturn ProductReturn;
|
typedef typename NP::ProductReturn ProductReturn;
|
||||||
private:
|
private:
|
||||||
typedef Key< Impl, IdentifierType > Key;
|
typedef Key< Impl, IdentifierType > MyKey;
|
||||||
typedef std::map< Key, ObjVector > KeyToObjVectorMap;
|
typedef std::map< MyKey, ObjVector > KeyToObjVectorMap;
|
||||||
typedef std::map< AbstractProduct*, Key > FetchedObjToKeyMap;
|
typedef std::map< AbstractProduct*, MyKey > FetchedObjToKeyMap;
|
||||||
|
|
||||||
Factory factory;
|
MyFactory factory;
|
||||||
KeyToObjVectorMap fromKeyToObjVector;
|
KeyToObjVectorMap fromKeyToObjVector;
|
||||||
FetchedObjToKeyMap providedObjects;
|
FetchedObjToKeyMap providedObjects;
|
||||||
unsigned outObjects;
|
unsigned outObjects;
|
||||||
|
|
||||||
ObjVector& getContainerFromKey(Key key){
|
ObjVector& getContainerFromKey(MyKey key){
|
||||||
return fromKeyToObjVector[key];
|
return fromKeyToObjVector[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -864,7 +864,7 @@ namespace Loki
|
||||||
|
|
||||||
ProductReturn CreateObject(const IdentifierType& id)
|
ProductReturn CreateObject(const IdentifierType& id)
|
||||||
{
|
{
|
||||||
Key key(id);
|
MyKey key(id);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -879,7 +879,7 @@ namespace Loki
|
||||||
ProductReturn CreateObject(const IdentifierType& id,
|
ProductReturn CreateObject(const IdentifierType& id,
|
||||||
Parm1 p1)
|
Parm1 p1)
|
||||||
{
|
{
|
||||||
Key key(id,p1);
|
MyKey key(id,p1);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -894,7 +894,7 @@ namespace Loki
|
||||||
ProductReturn CreateObject(const IdentifierType& id,
|
ProductReturn CreateObject(const IdentifierType& id,
|
||||||
Parm1 p1, Parm2 p2)
|
Parm1 p1, Parm2 p2)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2);
|
MyKey key(id,p1,p2);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -909,7 +909,7 @@ namespace Loki
|
||||||
ProductReturn CreateObject(const IdentifierType& id,
|
ProductReturn CreateObject(const IdentifierType& id,
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3)
|
Parm1 p1, Parm2 p2, Parm3 p3)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3);
|
MyKey key(id,p1,p2,p3);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -924,7 +924,7 @@ namespace Loki
|
||||||
ProductReturn CreateObject(const IdentifierType& id,
|
ProductReturn CreateObject(const IdentifierType& id,
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4)
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4);
|
MyKey key(id,p1,p2,p3,p4);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -940,7 +940,7 @@ namespace Loki
|
||||||
ProductReturn CreateObject(const IdentifierType& id,
|
ProductReturn CreateObject(const IdentifierType& id,
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5)
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5);
|
MyKey key(id,p1,p2,p3,p4,p5);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -957,7 +957,7 @@ namespace Loki
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
||||||
Parm6 p6)
|
Parm6 p6)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6);
|
MyKey key(id,p1,p2,p3,p4,p5,p6);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -974,7 +974,7 @@ namespace Loki
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
||||||
Parm6 p6, Parm7 p7 )
|
Parm6 p6, Parm7 p7 )
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -991,7 +991,7 @@ namespace Loki
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8)
|
Parm6 p6, Parm7 p7, Parm8 p8)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1008,7 +1008,7 @@ namespace Loki
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9)
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1025,7 +1025,7 @@ namespace Loki
|
||||||
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5,
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9,Parm10 p10)
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9,Parm10 p10)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1043,7 +1043,7 @@ namespace Loki
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
||||||
Parm11 p11)
|
Parm11 p11)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1061,7 +1061,7 @@ namespace Loki
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
||||||
Parm11 p11, Parm12 p12)
|
Parm11 p11, Parm12 p12)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1079,7 +1079,7 @@ namespace Loki
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
||||||
Parm11 p11, Parm12 p12, Parm13 p13)
|
Parm11 p11, Parm12 p12, Parm13 p13)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1098,7 +1098,7 @@ namespace Loki
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
||||||
Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14)
|
Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
@ -1117,7 +1117,7 @@ namespace Loki
|
||||||
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10,
|
||||||
Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14, Parm15 p15)
|
Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14, Parm15 p15)
|
||||||
{
|
{
|
||||||
Key key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15);
|
MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15);
|
||||||
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
AbstractProduct *pProduct(getPointerToObjectInContainer(getContainerFromKey(key)));
|
||||||
if(shouldCreateObject(pProduct))
|
if(shouldCreateObject(pProduct))
|
||||||
{
|
{
|
||||||
|
|
|
@ -171,7 +171,7 @@ namespace Loki
|
||||||
protected:
|
protected:
|
||||||
typedef CallBackSP ProductReturn;
|
typedef CallBackSP ProductReturn;
|
||||||
SmartPointer() : fun(this, &SmartPointer::smartPointerCallbackFunction) {}
|
SmartPointer() : fun(this, &SmartPointer::smartPointerCallbackFunction) {}
|
||||||
virtual ~SmartPointer(){};
|
virtual ~SmartPointer(){}
|
||||||
|
|
||||||
ProductReturn encapsulate(AbstractProduct* pProduct)
|
ProductReturn encapsulate(AbstractProduct* pProduct)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
#include <climits>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
|
@ -188,6 +188,9 @@ namespace Loki
|
||||||
protected:
|
protected:
|
||||||
// Destroys the data stored
|
// Destroys the data stored
|
||||||
// (Destruction might be taken over by the OwnershipPolicy)
|
// (Destruction might be taken over by the OwnershipPolicy)
|
||||||
|
//
|
||||||
|
// If your compiler gives you a warning in this area while
|
||||||
|
// compiling the tests, it is on purpose, please ignore it.
|
||||||
void Destroy()
|
void Destroy()
|
||||||
{
|
{
|
||||||
delete pointee_;
|
delete pointee_;
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include <loki/SmallObj.h>
|
#include <loki/SmallObj.h>
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include <climits>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <bitset>
|
#include <bitset>
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ using namespace Loki;
|
||||||
|
|
||||||
class AbstractProduct{
|
class AbstractProduct{
|
||||||
public:
|
public:
|
||||||
virtual ~AbstractProduct(){};
|
virtual ~AbstractProduct(){}
|
||||||
};
|
};
|
||||||
|
|
||||||
class Product : public AbstractProduct
|
class Product : public AbstractProduct
|
||||||
|
|
|
@ -40,7 +40,7 @@ public:
|
||||||
LogClass()
|
LogClass()
|
||||||
{
|
{
|
||||||
print("LogClass::LogClass()");
|
print("LogClass::LogClass()");
|
||||||
};
|
}
|
||||||
~LogClass()
|
~LogClass()
|
||||||
{
|
{
|
||||||
print("LogClass::~LogClass()");
|
print("LogClass::~LogClass()");
|
||||||
|
|
|
@ -119,7 +119,7 @@ public:
|
||||||
|
|
||||||
class Creator : public AbstractCreator{
|
class Creator : public AbstractCreator{
|
||||||
public:
|
public:
|
||||||
Creator(){};
|
Creator(){}
|
||||||
AbstractProduct* create()
|
AbstractProduct* create()
|
||||||
{
|
{
|
||||||
cout << "Creator::create()" << endl;
|
cout << "Creator::create()" << endl;
|
||||||
|
@ -139,7 +139,7 @@ public:
|
||||||
template< class T>
|
template< class T>
|
||||||
class CreatorT{
|
class CreatorT{
|
||||||
public:
|
public:
|
||||||
CreatorT(){};
|
CreatorT(){}
|
||||||
T* create()
|
T* create()
|
||||||
{
|
{
|
||||||
cout << "CreatorT<T>::create()" << endl;
|
cout << "CreatorT<T>::create()" << endl;
|
||||||
|
|
|
@ -33,7 +33,7 @@ int loop = 5;
|
||||||
|
|
||||||
struct A
|
struct A
|
||||||
{
|
{
|
||||||
A(){};
|
A(){}
|
||||||
|
|
||||||
#define DO for(int i=0; i<10000000; i++) g++;
|
#define DO for(int i=0; i<10000000; i++) g++;
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ public:
|
||||||
Example(const char * s)
|
Example(const char * s)
|
||||||
{
|
{
|
||||||
msg = s;
|
msg = s;
|
||||||
};
|
}
|
||||||
virtual ~Example()
|
virtual ~Example()
|
||||||
{
|
{
|
||||||
echo(msg);
|
echo(msg);
|
||||||
|
|
|
@ -248,7 +248,7 @@ class B1_NoDestroy : public Master1_NoDestroy
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
B1_NoDestroy(){std::cout<<"new B1_NoDestroy. B1_NoDestroy must not be deleted\n";}
|
B1_NoDestroy(){std::cout<<"new B1_NoDestroy. B1_NoDestroy must not be deleted\n";}
|
||||||
~B1_NoDestroy(){std::cout<<"delete B1_NoDestroy\n";};
|
~B1_NoDestroy(){std::cout<<"delete B1_NoDestroy\n";}
|
||||||
};
|
};
|
||||||
|
|
||||||
class B1_PhoenixSingleton : public Master1_PhoenixSingleton
|
class B1_PhoenixSingleton : public Master1_PhoenixSingleton
|
||||||
|
@ -331,7 +331,7 @@ class B2_NoDestroy : public Master2_NoDestroy
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
B2_NoDestroy(){std::cout<<"new B2_NoDestroy. B2_NoDestroy must not be deleted\n";}
|
B2_NoDestroy(){std::cout<<"new B2_NoDestroy. B2_NoDestroy must not be deleted\n";}
|
||||||
~B2_NoDestroy(){std::cout<<"delete B2_NoDestroy\n";};
|
~B2_NoDestroy(){std::cout<<"delete B2_NoDestroy\n";}
|
||||||
};
|
};
|
||||||
|
|
||||||
class B2_PhoenixSingleton : public Master2_PhoenixSingleton
|
class B2_PhoenixSingleton : public Master2_PhoenixSingleton
|
||||||
|
|
|
@ -27,7 +27,7 @@ public:
|
||||||
Timer()
|
Timer()
|
||||||
{
|
{
|
||||||
t100 = 0;
|
t100 = 0;
|
||||||
};
|
}
|
||||||
|
|
||||||
void start()
|
void start()
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,12 +48,9 @@ unsigned int MimicCOM::s_destructions = 0;
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
/// Used to check if SmartPtr can be used with a forward-reference.
|
/// Used to check if SmartPtr can be used with a forward-reference.
|
||||||
|
/// GCC gives out warnings because of it, you can ignore them.
|
||||||
class Thingy;
|
class Thingy;
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#warning The warnings are by design: Check if SmartPtr can be used with a forward-reference.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef Loki::SmartPtr< Thingy, RefCounted, DisallowConversion,
|
typedef Loki::SmartPtr< Thingy, RefCounted, DisallowConversion,
|
||||||
AssertCheck, DefaultSPStorage, PropagateConst >
|
AssertCheck, DefaultSPStorage, PropagateConst >
|
||||||
Thingy_DefaultStorage_ptr;
|
Thingy_DefaultStorage_ptr;
|
||||||
|
@ -1001,10 +998,10 @@ void DoForwardReferenceTest( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main( unsigned int argc, const char * argv[] )
|
int main( int argc, const char * argv[] )
|
||||||
{
|
{
|
||||||
bool doThreadTest = false;
|
bool doThreadTest = false;
|
||||||
for ( unsigned int ii = 1; ii < argc; ++ii )
|
for ( int ii = 1; ii < argc; ++ii )
|
||||||
{
|
{
|
||||||
if ( ::strcmp( argv[ii], "-t" ) == 0 )
|
if ( ::strcmp( argv[ii], "-t" ) == 0 )
|
||||||
doThreadTest = true;
|
doThreadTest = true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue