add test for static member variables
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@309 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
d1a5bd2ec8
commit
a60cd00348
1 changed files with 37 additions and 4 deletions
|
@ -37,6 +37,18 @@ struct L2
|
||||||
~L2(){std::cout << "delete L2 \n";}
|
~L2(){std::cout << "delete L2 \n";}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct M1
|
||||||
|
{
|
||||||
|
M1(){std::cout << "create M1 \n";}
|
||||||
|
~M1(){std::cout << "delete M1 \n";}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct M2
|
||||||
|
{
|
||||||
|
M2(){std::cout << "create M2 \n";}
|
||||||
|
~M2(){std::cout << "delete M2 \n";}
|
||||||
|
};
|
||||||
|
|
||||||
int f()
|
int f()
|
||||||
{
|
{
|
||||||
std::cout << "f called \n";
|
std::cout << "f called \n";
|
||||||
|
@ -48,6 +60,15 @@ std::string func();
|
||||||
|
|
||||||
#ifdef TEST_ORDERED_STATIC
|
#ifdef TEST_ORDERED_STATIC
|
||||||
|
|
||||||
|
struct MemberTest
|
||||||
|
{
|
||||||
|
static Loki::OrderedStatic<1,M1> m1;
|
||||||
|
static Loki::OrderedStatic<2,M2> m2;
|
||||||
|
};
|
||||||
|
Loki::OrderedStatic<1,M1> MemberTest::m1;
|
||||||
|
Loki::OrderedStatic<2,M2> MemberTest::m2;
|
||||||
|
|
||||||
|
|
||||||
Loki::OrderedStatic<1,L1> l1;
|
Loki::OrderedStatic<1,L1> l1;
|
||||||
Loki::OrderedStatic<2,L2> l2;
|
Loki::OrderedStatic<2,L2> l2;
|
||||||
|
|
||||||
|
@ -58,6 +79,14 @@ Loki::OrderedStatic<1, Loki::Functor<int>, LOKI_TYPELIST_1( int(*)() ) > f1(f);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
struct MemberTest
|
||||||
|
{
|
||||||
|
static M1 m1;
|
||||||
|
static M2 m2;
|
||||||
|
};
|
||||||
|
M1 MemberTest::m1;
|
||||||
|
M2 MemberTest::m2;
|
||||||
|
|
||||||
L1 l1;
|
L1 l1;
|
||||||
L2 l2;
|
L2 l2;
|
||||||
|
|
||||||
|
@ -86,17 +115,20 @@ int main()
|
||||||
|
|
||||||
Loki::OrderedStaticManager::Instance().createObjects();
|
Loki::OrderedStaticManager::Instance().createObjects();
|
||||||
|
|
||||||
|
std::cout << "\n";
|
||||||
|
|
||||||
(*f1)();
|
(*f1)();
|
||||||
|
|
||||||
std::cout << "s1 = " << (*s1).c_str() << "\n";
|
std::cout << "value of s1: " << (*s1).c_str() << "\n";
|
||||||
std::cout << "s2 = " << (*s2).c_str() << "\n";
|
std::cout << "value of s2: " << (*s2).c_str() << "\n";
|
||||||
|
|
||||||
std::string s("text11");
|
std::string s("text11");
|
||||||
*s1=s;
|
*s1=s;
|
||||||
std::cout << "s1 = " << (*s1).c_str() << "\n";
|
std::cout << "value of s1: " << (*s1).c_str() << "\n";
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
std::cout << "\n";
|
||||||
f1();
|
f1();
|
||||||
|
|
||||||
std::cout << "s1 = " << s1.c_str() << "\n";
|
std::cout << "s1 = " << s1.c_str() << "\n";
|
||||||
|
@ -104,6 +136,7 @@ int main()
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
std::cout << "\n";
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue