add Longevity test
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@281 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
13d56ada49
commit
d0e75dd3b1
3 changed files with 85 additions and 0 deletions
40
test/Longevity/main.cpp
Executable file
40
test/Longevity/main.cpp
Executable file
|
@ -0,0 +1,40 @@
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include "loki/Singleton.h"
|
||||
|
||||
|
||||
struct L1
|
||||
{
|
||||
L1(){std::cout << "create L1: " << this << "\n";}
|
||||
~L1(){std::cout << "delete L1: " << this <<" \n";}
|
||||
};
|
||||
|
||||
struct L2
|
||||
{
|
||||
L2(){std::cout << "create L2 \n";}
|
||||
~L2(){std::cout << "delete L2 \n";}
|
||||
};
|
||||
|
||||
struct L3
|
||||
{
|
||||
L3(){std::cout << "create L3 \n";}
|
||||
~L3(){std::cout << "delete L3 \n";}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
Loki::SetLongevity
|
||||
(new L1, 1);
|
||||
Loki::SetLongevity<L1, void (*)(L1*)>
|
||||
(new L1, 1, Loki::Private::Deleter<L1>::Delete);
|
||||
Loki::SetLongevity<L1, Loki::Private::Deleter<L1>::Type>
|
||||
(new L1, 1, Loki::Private::Deleter<L1>::Delete);
|
||||
Loki::SetLongevity(new L2, 2);
|
||||
Loki::SetLongevity(new L1, 1);
|
||||
Loki::SetLongevity(new L3, 3);
|
||||
Loki::SetLongevity(new L1, 1);
|
||||
|
||||
std::cout << "\n";
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue