From: <z-...@us...> - 2008-02-22 15:41:49
|
Revision: 8053 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=8053&view=rev Author: z-man Date: 2008-02-22 07:41:54 -0800 (Fri, 22 Feb 2008) Log Message: ----------- Added test for nonmaster in different namespace. works. Modified Paths: -------------- private/z-man/clio/tests/templates.test/test.cpp private/z-man/clio/tests/templates.test/test.io Modified: private/z-man/clio/tests/templates.test/test.cpp =================================================================== --- private/z-man/clio/tests/templates.test/test.cpp 2008-02-22 15:33:02 UTC (rev 8052) +++ private/z-man/clio/tests/templates.test/test.cpp 2008-02-22 15:41:54 UTC (rev 8053) @@ -19,6 +19,9 @@ x = 0; } +namespace base +{ + template< class T1, class T2, int I1 > class TemplateTestBase { public: @@ -29,7 +32,9 @@ } }; -template< class T > class TemplateTest: public TemplateTestBase< T, T, 2 > +} + +template< class T > class TemplateTest: public base::TemplateTestBase< T, T, 2 > { public: virtual ~TemplateTest(){} @@ -41,10 +46,10 @@ TemplateTest< float > g(){ return TemplateTest< float >(); } }; -CLIO_TEMPLATE_SET_POLYMORPHIC( TemplateTestBase, (3,(class,class,int)), false ); +CLIO_TEMPLATE_SET_POLYMORPHIC( base::TemplateTestBase, (3,(class,class,int)), false ); CLIO_TEMPLATE_SET_POLYMORPHIC( TemplateTest, (1,(class)), true ); -CLIO_TEMPLATE_CLASS( TemplateTestBase, (3,(class,class,int))) +CLIO_TEMPLATE_CLASS( base::TemplateTestBase, (3,(class,class,int))) { CLIO_METHOD( h ); CLIO_METHOD( Create ); @@ -52,7 +57,7 @@ CLIO_TEMPLATE_CLASS( TemplateTest, (1,(class))) { - typedef TemplateTestBase<T1,T1,2> BASE; + typedef base::TemplateTestBase<T1,T1,2> BASE; CLIO_CLASS_BASE( BASE ); CLIO_METHOD( f ); CLIO_METHOD( g ); @@ -61,19 +66,23 @@ ); } +namespace blurb +{ struct NoMaster{}; -CLIO_TEMPLATE_CLASS_NOMASTER( TemplateTestBase, (3,(class,class,int)), NoMaster ); +} +CLIO_TEMPLATE_CLASS_NOMASTER( base::TemplateTestBase, (3,(class,class,int)), blurb::NoMaster ); + CLIO_TEMPLATE_CLASS_MASTER( TemplateTest, (1,(class)), (1,(clio::IoObjectPointer)) ); CLIO_INSTANTIATE_TEMPLATE(TemplateTest,(1,(int)),"TemplateTest_Int"); CLIO_INSTANTIATE_TEMPLATE(TemplateTest,(1,(std::string)),"TemplateTest_Sequence"); CLIO_INSTANTIATE_TEMPLATE(TemplateTest,(1,(TemplateTest< clio::IoObjectPointer >)),"TemplateTest_TemplateTest"); -CLIO_INSTANTIATE_TEMPLATE(TemplateTestBase,(3,(std::string,clio::IoObjectPointer,3)),"TemplateTestBase_Sequence_Object_3"); +CLIO_INSTANTIATE_TEMPLATE(base::TemplateTestBase,(3,(std::string,clio::IoObjectPointer,3)),"TemplateTestBase_Sequence_Object_3"); void Test() { - clio::ClassInfo< TemplateTestBase< std::string, std::string, 2 > >::Get(); + // clio::ClassInfo< TemplateTestBase< std::string, std::string, 2 > >::Get(); } Modified: private/z-man/clio/tests/templates.test/test.io =================================================================== --- private/z-man/clio/tests/templates.test/test.io 2008-02-22 15:33:02 UTC (rev 8052) +++ private/z-man/clio/tests/templates.test/test.io 2008-02-22 15:41:54 UTC (rev 8053) @@ -1,13 +1,13 @@ testObject := TemplateTest With( Number ) clone testObject2 := TemplateTest With( Sequence ) clone testObject3 := TemplateTest clone -testObject4 := TemplateTestBase clone +testObject4 := Base TemplateTestBase clone writeln("Expecting error") testObject4 h() -testObject4 := TemplateTestBase With( Sequence, Sequence, 2 ) clone +testObject4 := Base TemplateTestBase With( Sequence, Sequence, 2 ) clone testObject4 type println testObject4 h() println -testObject4 := TemplateTestBase With( Sequence, Sequence, 3 ) clone +testObject4 := Base TemplateTestBase With( Sequence, Sequence, 3 ) clone testObject4 type println testObject4 h() println testObject f(1) println This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |