From d90c065fb9bb496a5a6c37f41b54820a82b0af52 Mon Sep 17 00:00:00 2001 From: syntheticpp Date: Wed, 10 Dec 2008 20:24:09 +0000 Subject: [PATCH] add eol property git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@909 7ec92016-0320-0410-acc4-a06ded1c099a --- Loki_MSVC_8.sln | 304 ++++++++++++------------- test/SmartPtr/colvin_gibbons_trick.cpp | 242 ++++++++++---------- 2 files changed, 273 insertions(+), 273 deletions(-) diff --git a/Loki_MSVC_8.sln b/Loki_MSVC_8.sln index cc026de..2219630 100644 --- a/Loki_MSVC_8.sln +++ b/Loki_MSVC_8.sln @@ -1,152 +1,152 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Library", "src\library_MSVC_8.vcproj", "{CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Factory", "test\Factory\Factory_MSVC_8.vcproj", "{925D5863-2F77-41B7-96F1-CC814762C40F}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Longevity", "test\Longevity\Longevity_MSVC_8.vcproj", "{1333D945-B228-4845-9C91-C1B67AEEAED5}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OrderedStatic", "test\OrderedStatic\OrderedStatic_MSVC_8.vcproj", "{0DCBE03A-DAC7-4669-B29B-102D8F563736}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SafeFormat", "test\SafeFormat\SafeFormat_MSVC_8.vcproj", "{C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScopeGuard", "test\ScopeGuard\ScopeGuard_MSVC_8.vcproj", "{D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Singleton", "test\Singleton\Singleton_MSVC_8.vcproj", "{9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Visitor", "test\Visitor\Visitor_MSVC_8.vcproj", "{0A696379-10A2-43FB-A26C-B42456FCF657}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flex_string", "test\flex_string\flex_string_MSVC_8.vcproj", "{2022B9AD-34CA-4FDA-80C2-42805FABE65B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmallObjCompare", "test\SmallObj\SmallObjCompare_MSVC_8.vcproj", "{0A98B714-818C-4DD3-A07C-BDD16399F362}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmallObjSingleton", "test\SmallObj\SmallObjSingleton_MSVC_8.vcproj", "{78536B46-8307-4AE5-933E-0CADE2887AFB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeletableSingleton", "test\DeletableSingleton\DeletableSingleton_MSVC_8.vcproj", "{B87B3522-7DAA-400D-A47D-A74B9B8B3552}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DefaultAlloc", "test\SmallObj\DefaultAlloc_MSVC_8.vcproj", "{D490B134-B794-42CF-8AF8-9FDA524B9D3B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmartPtr", "test\SmartPtr\SmartPtr_MSVC_8.vcproj", "{D7AB4FEF-E7AF-443D-93A5-37F323F2042D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSVCUnitTest", "test\RegressionTest\MSVCUnitTest_MSVC_8.vcproj", "{79729949-F144-4098-BFE9-B6320E6AC3F6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pimpl", "test\Pimpl\Pimpl_MSVC_8.vcproj", "{21D2B291-80F4-476C-A643-B8A7034DF95F}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LockingPtr", "test\LockingPtr\LockingPtr_MSVC_8.vcproj", "{25766C3F-C0D8-429F-A212-5FA3537B3E1C}" - ProjectSection(ProjectDependencies) = postProject - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Function", "test\Function\Function_MSVC_8.vcproj", "{2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CachedFactory", "test\CachedFactory\CachedFactory_MSVC_8.vcproj", "{8D186AB4-E544-42D6-B192-1AE2C946875E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckReturn", "test\CheckReturn\CheckReturn_MSVC_8.vcproj", "{C0826A05-9143-4545-B5DE-811C188CB54E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Debug|Win32.ActiveCfg = Debug|Win32 - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Debug|Win32.Build.0 = Debug|Win32 - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Release|Win32.ActiveCfg = Release|Win32 - {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Release|Win32.Build.0 = Release|Win32 - {925D5863-2F77-41B7-96F1-CC814762C40F}.Debug|Win32.ActiveCfg = Debug|Win32 - {925D5863-2F77-41B7-96F1-CC814762C40F}.Debug|Win32.Build.0 = Debug|Win32 - {925D5863-2F77-41B7-96F1-CC814762C40F}.Release|Win32.ActiveCfg = Release|Win32 - {925D5863-2F77-41B7-96F1-CC814762C40F}.Release|Win32.Build.0 = Release|Win32 - {1333D945-B228-4845-9C91-C1B67AEEAED5}.Debug|Win32.ActiveCfg = Debug|Win32 - {1333D945-B228-4845-9C91-C1B67AEEAED5}.Debug|Win32.Build.0 = Debug|Win32 - {1333D945-B228-4845-9C91-C1B67AEEAED5}.Release|Win32.ActiveCfg = Release|Win32 - {1333D945-B228-4845-9C91-C1B67AEEAED5}.Release|Win32.Build.0 = Release|Win32 - {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Debug|Win32.ActiveCfg = Debug|Win32 - {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Debug|Win32.Build.0 = Debug|Win32 - {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Release|Win32.ActiveCfg = Release|Win32 - {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Release|Win32.Build.0 = Release|Win32 - {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Debug|Win32.ActiveCfg = Debug|Win32 - {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Debug|Win32.Build.0 = Debug|Win32 - {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Release|Win32.ActiveCfg = Release|Win32 - {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Release|Win32.Build.0 = Release|Win32 - {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Debug|Win32.ActiveCfg = Debug|Win32 - {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Debug|Win32.Build.0 = Debug|Win32 - {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Release|Win32.ActiveCfg = Release|Win32 - {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Release|Win32.Build.0 = Release|Win32 - {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Debug|Win32.ActiveCfg = Debug|Win32 - {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Debug|Win32.Build.0 = Debug|Win32 - {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Release|Win32.ActiveCfg = Release|Win32 - {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Release|Win32.Build.0 = Release|Win32 - {0A696379-10A2-43FB-A26C-B42456FCF657}.Debug|Win32.ActiveCfg = Debug|Win32 - {0A696379-10A2-43FB-A26C-B42456FCF657}.Debug|Win32.Build.0 = Debug|Win32 - {0A696379-10A2-43FB-A26C-B42456FCF657}.Release|Win32.ActiveCfg = Release|Win32 - {0A696379-10A2-43FB-A26C-B42456FCF657}.Release|Win32.Build.0 = Release|Win32 - {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Debug|Win32.ActiveCfg = Debug|Win32 - {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Debug|Win32.Build.0 = Debug|Win32 - {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Release|Win32.ActiveCfg = Release|Win32 - {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Release|Win32.Build.0 = Release|Win32 - {0A98B714-818C-4DD3-A07C-BDD16399F362}.Debug|Win32.ActiveCfg = Debug|Win32 - {0A98B714-818C-4DD3-A07C-BDD16399F362}.Debug|Win32.Build.0 = Debug|Win32 - {0A98B714-818C-4DD3-A07C-BDD16399F362}.Release|Win32.ActiveCfg = Release|Win32 - {0A98B714-818C-4DD3-A07C-BDD16399F362}.Release|Win32.Build.0 = Release|Win32 - {78536B46-8307-4AE5-933E-0CADE2887AFB}.Debug|Win32.ActiveCfg = Debug|Win32 - {78536B46-8307-4AE5-933E-0CADE2887AFB}.Debug|Win32.Build.0 = Debug|Win32 - {78536B46-8307-4AE5-933E-0CADE2887AFB}.Release|Win32.ActiveCfg = Release|Win32 - {78536B46-8307-4AE5-933E-0CADE2887AFB}.Release|Win32.Build.0 = Release|Win32 - {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Debug|Win32.ActiveCfg = Debug|Win32 - {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Debug|Win32.Build.0 = Debug|Win32 - {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Release|Win32.ActiveCfg = Release|Win32 - {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Release|Win32.Build.0 = Release|Win32 - {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Debug|Win32.ActiveCfg = Debug|Win32 - {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Debug|Win32.Bild.0 = Debug|Win32 - {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Release|Win32.ActiveCfg = Release|Win32 - {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Release|Win32.Build.0 = Release|Win32 - {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Debug|Win32.ActiveCfg = Debug|Win32 - {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Debug|Win32.Build.0 = Debug|Win32 - {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Release|Win32.ActiveCfg = Release|Win32 - {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Release|Win32.Build.0 = Release|Win32 - {79729949-F144-4098-BFE9-B6320E6AC3F6}.Debug|Win32.ActiveCfg = Debug|Win32 - {79729949-F144-4098-BFE9-B6320E6AC3F6}.Debug|Win32.Build.0 = Debug|Win32 - {79729949-F144-4098-BFE9-B6320E6AC3F6}.Release|Win32.ActiveCfg = Release|Win32 - {79729949-F144-4098-BFE9-B6320E6AC3F6}.Release|Win32.Build.0 = Release|Win32 - {21D2B291-80F4-476C-A643-B8A7034DF95F}.Debug|Win32.ActiveCfg = Debug|Win32 - {21D2B291-80F4-476C-A643-B8A7034DF95F}.Debug|Win32.Build.0 = Debug|Win32 - {21D2B291-80F4-476C-A643-B8A7034DF95F}.Release|Win32.ActiveCfg = Release|Win32 - {21D2B291-80F4-476C-A643-B8A7034DF95F}.Release|Win32.Build.0 = Release|Win32 - {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Debug|Win32.ActiveCfg = Debug|Win32 - {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Debug|Win32.Build.0 = Debug|Win32 - {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Release|Win32.ActiveCfg = Release|Win32 - {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Release|Win32.Build.0 = Release|Win32 - {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Debug|Win32.Build.0 = Debug|Win32 - {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Release|Win32.ActiveCfg = Release|Win32 - {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Release|Win32.Build.0 = Release|Win32 - {8D186AB4-E544-42D6-B192-1AE2C946875E}.Debug|Win32.ActiveCfg = Debug|Win32 - {8D186AB4-E544-42D6-B192-1AE2C946875E}.Debug|Win32.Build.0 = Debug|Win32 - {8D186AB4-E544-42D6-B192-1AE2C946875E}.Release|Win32.ActiveCfg = Release|Win32 - {8D186AB4-E544-42D6-B192-1AE2C946875E}.Release|Win32.Build.0 = Release|Win32 - {C0826A05-9143-4545-B5DE-811C188CB54E}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0826A05-9143-4545-B5DE-811C188CB54E}.Debug|Win32.Build.0 = Debug|Win32 - {C0826A05-9143-4545-B5DE-811C188CB54E}.Release|Win32.ActiveCfg = Release|Win32 - {C0826A05-9143-4545-B5DE-811C188CB54E}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Library", "src\library_MSVC_8.vcproj", "{CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Factory", "test\Factory\Factory_MSVC_8.vcproj", "{925D5863-2F77-41B7-96F1-CC814762C40F}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Longevity", "test\Longevity\Longevity_MSVC_8.vcproj", "{1333D945-B228-4845-9C91-C1B67AEEAED5}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OrderedStatic", "test\OrderedStatic\OrderedStatic_MSVC_8.vcproj", "{0DCBE03A-DAC7-4669-B29B-102D8F563736}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SafeFormat", "test\SafeFormat\SafeFormat_MSVC_8.vcproj", "{C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScopeGuard", "test\ScopeGuard\ScopeGuard_MSVC_8.vcproj", "{D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Singleton", "test\Singleton\Singleton_MSVC_8.vcproj", "{9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Visitor", "test\Visitor\Visitor_MSVC_8.vcproj", "{0A696379-10A2-43FB-A26C-B42456FCF657}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flex_string", "test\flex_string\flex_string_MSVC_8.vcproj", "{2022B9AD-34CA-4FDA-80C2-42805FABE65B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmallObjCompare", "test\SmallObj\SmallObjCompare_MSVC_8.vcproj", "{0A98B714-818C-4DD3-A07C-BDD16399F362}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmallObjSingleton", "test\SmallObj\SmallObjSingleton_MSVC_8.vcproj", "{78536B46-8307-4AE5-933E-0CADE2887AFB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeletableSingleton", "test\DeletableSingleton\DeletableSingleton_MSVC_8.vcproj", "{B87B3522-7DAA-400D-A47D-A74B9B8B3552}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DefaultAlloc", "test\SmallObj\DefaultAlloc_MSVC_8.vcproj", "{D490B134-B794-42CF-8AF8-9FDA524B9D3B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmartPtr", "test\SmartPtr\SmartPtr_MSVC_8.vcproj", "{D7AB4FEF-E7AF-443D-93A5-37F323F2042D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSVCUnitTest", "test\RegressionTest\MSVCUnitTest_MSVC_8.vcproj", "{79729949-F144-4098-BFE9-B6320E6AC3F6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pimpl", "test\Pimpl\Pimpl_MSVC_8.vcproj", "{21D2B291-80F4-476C-A643-B8A7034DF95F}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LockingPtr", "test\LockingPtr\LockingPtr_MSVC_8.vcproj", "{25766C3F-C0D8-429F-A212-5FA3537B3E1C}" + ProjectSection(ProjectDependencies) = postProject + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} = {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Function", "test\Function\Function_MSVC_8.vcproj", "{2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CachedFactory", "test\CachedFactory\CachedFactory_MSVC_8.vcproj", "{8D186AB4-E544-42D6-B192-1AE2C946875E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CheckReturn", "test\CheckReturn\CheckReturn_MSVC_8.vcproj", "{C0826A05-9143-4545-B5DE-811C188CB54E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Debug|Win32.ActiveCfg = Debug|Win32 + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Debug|Win32.Build.0 = Debug|Win32 + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Release|Win32.ActiveCfg = Release|Win32 + {CBDB8E7A-4286-4AE3-A190-BA33D7C53FF0}.Release|Win32.Build.0 = Release|Win32 + {925D5863-2F77-41B7-96F1-CC814762C40F}.Debug|Win32.ActiveCfg = Debug|Win32 + {925D5863-2F77-41B7-96F1-CC814762C40F}.Debug|Win32.Build.0 = Debug|Win32 + {925D5863-2F77-41B7-96F1-CC814762C40F}.Release|Win32.ActiveCfg = Release|Win32 + {925D5863-2F77-41B7-96F1-CC814762C40F}.Release|Win32.Build.0 = Release|Win32 + {1333D945-B228-4845-9C91-C1B67AEEAED5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1333D945-B228-4845-9C91-C1B67AEEAED5}.Debug|Win32.Build.0 = Debug|Win32 + {1333D945-B228-4845-9C91-C1B67AEEAED5}.Release|Win32.ActiveCfg = Release|Win32 + {1333D945-B228-4845-9C91-C1B67AEEAED5}.Release|Win32.Build.0 = Release|Win32 + {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Debug|Win32.ActiveCfg = Debug|Win32 + {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Debug|Win32.Build.0 = Debug|Win32 + {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Release|Win32.ActiveCfg = Release|Win32 + {0DCBE03A-DAC7-4669-B29B-102D8F563736}.Release|Win32.Build.0 = Release|Win32 + {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Debug|Win32.ActiveCfg = Debug|Win32 + {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Debug|Win32.Build.0 = Debug|Win32 + {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Release|Win32.ActiveCfg = Release|Win32 + {C161D9DD-EB96-44D0-9CDD-ABF22ECBC359}.Release|Win32.Build.0 = Release|Win32 + {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Debug|Win32.Build.0 = Debug|Win32 + {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Release|Win32.ActiveCfg = Release|Win32 + {D5E7BAC2-A961-4ECC-ADA4-82D7510952BA}.Release|Win32.Build.0 = Release|Win32 + {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Debug|Win32.ActiveCfg = Debug|Win32 + {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Debug|Win32.Build.0 = Debug|Win32 + {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Release|Win32.ActiveCfg = Release|Win32 + {9F489E5D-9F29-4235-A9D4-79B5BA4EC48D}.Release|Win32.Build.0 = Release|Win32 + {0A696379-10A2-43FB-A26C-B42456FCF657}.Debug|Win32.ActiveCfg = Debug|Win32 + {0A696379-10A2-43FB-A26C-B42456FCF657}.Debug|Win32.Build.0 = Debug|Win32 + {0A696379-10A2-43FB-A26C-B42456FCF657}.Release|Win32.ActiveCfg = Release|Win32 + {0A696379-10A2-43FB-A26C-B42456FCF657}.Release|Win32.Build.0 = Release|Win32 + {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Debug|Win32.ActiveCfg = Debug|Win32 + {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Debug|Win32.Build.0 = Debug|Win32 + {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Release|Win32.ActiveCfg = Release|Win32 + {2022B9AD-34CA-4FDA-80C2-42805FABE65B}.Release|Win32.Build.0 = Release|Win32 + {0A98B714-818C-4DD3-A07C-BDD16399F362}.Debug|Win32.ActiveCfg = Debug|Win32 + {0A98B714-818C-4DD3-A07C-BDD16399F362}.Debug|Win32.Build.0 = Debug|Win32 + {0A98B714-818C-4DD3-A07C-BDD16399F362}.Release|Win32.ActiveCfg = Release|Win32 + {0A98B714-818C-4DD3-A07C-BDD16399F362}.Release|Win32.Build.0 = Release|Win32 + {78536B46-8307-4AE5-933E-0CADE2887AFB}.Debug|Win32.ActiveCfg = Debug|Win32 + {78536B46-8307-4AE5-933E-0CADE2887AFB}.Debug|Win32.Build.0 = Debug|Win32 + {78536B46-8307-4AE5-933E-0CADE2887AFB}.Release|Win32.ActiveCfg = Release|Win32 + {78536B46-8307-4AE5-933E-0CADE2887AFB}.Release|Win32.Build.0 = Release|Win32 + {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Debug|Win32.ActiveCfg = Debug|Win32 + {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Debug|Win32.Build.0 = Debug|Win32 + {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Release|Win32.ActiveCfg = Release|Win32 + {B87B3522-7DAA-400D-A47D-A74B9B8B3552}.Release|Win32.Build.0 = Release|Win32 + {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Debug|Win32.ActiveCfg = Debug|Win32 + {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Debug|Win32.Bild.0 = Debug|Win32 + {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Release|Win32.ActiveCfg = Release|Win32 + {D490B134-B794-42CF-8AF8-9FDA524B9D3B}.Release|Win32.Build.0 = Release|Win32 + {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Debug|Win32.ActiveCfg = Debug|Win32 + {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Debug|Win32.Build.0 = Debug|Win32 + {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Release|Win32.ActiveCfg = Release|Win32 + {D7AB4FEF-E7AF-443D-93A5-37F323F2042D}.Release|Win32.Build.0 = Release|Win32 + {79729949-F144-4098-BFE9-B6320E6AC3F6}.Debug|Win32.ActiveCfg = Debug|Win32 + {79729949-F144-4098-BFE9-B6320E6AC3F6}.Debug|Win32.Build.0 = Debug|Win32 + {79729949-F144-4098-BFE9-B6320E6AC3F6}.Release|Win32.ActiveCfg = Release|Win32 + {79729949-F144-4098-BFE9-B6320E6AC3F6}.Release|Win32.Build.0 = Release|Win32 + {21D2B291-80F4-476C-A643-B8A7034DF95F}.Debug|Win32.ActiveCfg = Debug|Win32 + {21D2B291-80F4-476C-A643-B8A7034DF95F}.Debug|Win32.Build.0 = Debug|Win32 + {21D2B291-80F4-476C-A643-B8A7034DF95F}.Release|Win32.ActiveCfg = Release|Win32 + {21D2B291-80F4-476C-A643-B8A7034DF95F}.Release|Win32.Build.0 = Release|Win32 + {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Debug|Win32.ActiveCfg = Debug|Win32 + {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Debug|Win32.Build.0 = Debug|Win32 + {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Release|Win32.ActiveCfg = Release|Win32 + {25766C3F-C0D8-429F-A212-5FA3537B3E1C}.Release|Win32.Build.0 = Release|Win32 + {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Debug|Win32.ActiveCfg = Debug|Win32 + {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Debug|Win32.Build.0 = Debug|Win32 + {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Release|Win32.ActiveCfg = Release|Win32 + {2DE18D06-0F3A-4C6D-AF2B-40E074B3C3DC}.Release|Win32.Build.0 = Release|Win32 + {8D186AB4-E544-42D6-B192-1AE2C946875E}.Debug|Win32.ActiveCfg = Debug|Win32 + {8D186AB4-E544-42D6-B192-1AE2C946875E}.Debug|Win32.Build.0 = Debug|Win32 + {8D186AB4-E544-42D6-B192-1AE2C946875E}.Release|Win32.ActiveCfg = Release|Win32 + {8D186AB4-E544-42D6-B192-1AE2C946875E}.Release|Win32.Build.0 = Release|Win32 + {C0826A05-9143-4545-B5DE-811C188CB54E}.Debug|Win32.ActiveCfg = Debug|Win32 + {C0826A05-9143-4545-B5DE-811C188CB54E}.Debug|Win32.Build.0 = Debug|Win32 + {C0826A05-9143-4545-B5DE-811C188CB54E}.Release|Win32.ActiveCfg = Release|Win32 + {C0826A05-9143-4545-B5DE-811C188CB54E}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/test/SmartPtr/colvin_gibbons_trick.cpp b/test/SmartPtr/colvin_gibbons_trick.cpp index d9d169d..72ef935 100644 --- a/test/SmartPtr/colvin_gibbons_trick.cpp +++ b/test/SmartPtr/colvin_gibbons_trick.cpp @@ -1,121 +1,121 @@ -//////////////////////////////////////////////////////////////////////////////// -// Test program for The Loki Library -// Copyright (c) 2008 Richard Sposato -// Permission to use, copy, modify, distribute and sell this software for any -// purpose is hereby granted without fee, provided that the above copyright -// notice appear in all copies and that both that copyright notice and this -// permission notice appear in supporting documentation. -// The authors make no representations about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. -//////////////////////////////////////////////////////////////////////////////// - -// $Id$ - - -// ---------------------------------------------------------------------------- - - -// loki_smart_auto_ptr.cpp Test program for Loki::SmartPtr configured as -// auto_ptr using Colvin-Gibbons trick - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include - - -using namespace Loki; -using namespace std; - - -// ---------------------------------------------------------------------------- - -class Base -{ -public: - virtual ~Base() {} - - virtual void Hello() { cout << "Base Hello, world!" << endl; } -}; - -// ---------------------------------------------------------------------------- - -class Derived: public Base -{ -public: - virtual void Hello() { cout << "Derived Hello, world!" << endl; } -}; - - -// ---------------------------------------------------------------------------- - -typedef auto_ptr< Base > AutoPtrBase; -typedef auto_ptr< Derived > AutoPtrDerived; - -typedef SmartPtr< Base, DestructiveCopy > SmartAutoPtrBase; -typedef SmartPtr< Derived, DestructiveCopy > SmartAutoPtrDerived; - - -// ---------------------------------------------------------------------------- - -template -TPtrBase CreateBase() -{ - return TPtrBase( new Base ); -} - -// ---------------------------------------------------------------------------- - -template -TPtrDerived CreateDerived() -{ - return TPtrDerived( new Derived ); -} - -// ---------------------------------------------------------------------------- - -template < class TPtrBase > -void UseBase( TPtrBase ptr ) -{ - ptr->Hello(); -} - -// ---------------------------------------------------------------------------- - -template < class TPtrBase, class TPtrDerived > -void DoTest() -{ - TPtrBase spb0 = CreateBase< TPtrBase >(); - TPtrBase spb1( spb0 ); - - UseBase< TPtrBase >( CreateBase< TPtrBase >() ); - - TPtrDerived spd1 = CreateDerived< TPtrDerived >(); - TPtrBase spb2( spd1 ); - - // NOTE: this does not compile with gcc 4.3.1 also for std::auto_ptr; - // it should work (Copy-initialization, base-from-derived) - // according to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1128.pdf - // It does compile with Visual C++ 8 (need to test with 9) - // UseBase(CreateDerived()); - - // Quick fix - UseBase< TPtrBase >( TPtrBase( CreateDerived< TPtrDerived >() ) ); -} - -// ---------------------------------------------------------------------------- - -void TryColvinGibbonsTrick( void ) -{ - DoTest(); // OK - DoTest(); // FIXME: eror: - // assignment of read-only reference 'val' -} - -// ---------------------------------------------------------------------------- +//////////////////////////////////////////////////////////////////////////////// +// Test program for The Loki Library +// Copyright (c) 2008 Richard Sposato +// Permission to use, copy, modify, distribute and sell this software for any +// purpose is hereby granted without fee, provided that the above copyright +// notice appear in all copies and that both that copyright notice and this +// permission notice appear in supporting documentation. +// The authors make no representations about the +// suitability of this software for any purpose. It is provided "as is" +// without express or implied warranty. +//////////////////////////////////////////////////////////////////////////////// + +// $Id$ + + +// ---------------------------------------------------------------------------- + + +// loki_smart_auto_ptr.cpp Test program for Loki::SmartPtr configured as +// auto_ptr using Colvin-Gibbons trick + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include + +#include +#include +#include + + +using namespace Loki; +using namespace std; + + +// ---------------------------------------------------------------------------- + +class Base +{ +public: + virtual ~Base() {} + + virtual void Hello() { cout << "Base Hello, world!" << endl; } +}; + +// ---------------------------------------------------------------------------- + +class Derived: public Base +{ +public: + virtual void Hello() { cout << "Derived Hello, world!" << endl; } +}; + + +// ---------------------------------------------------------------------------- + +typedef auto_ptr< Base > AutoPtrBase; +typedef auto_ptr< Derived > AutoPtrDerived; + +typedef SmartPtr< Base, DestructiveCopy > SmartAutoPtrBase; +typedef SmartPtr< Derived, DestructiveCopy > SmartAutoPtrDerived; + + +// ---------------------------------------------------------------------------- + +template +TPtrBase CreateBase() +{ + return TPtrBase( new Base ); +} + +// ---------------------------------------------------------------------------- + +template +TPtrDerived CreateDerived() +{ + return TPtrDerived( new Derived ); +} + +// ---------------------------------------------------------------------------- + +template < class TPtrBase > +void UseBase( TPtrBase ptr ) +{ + ptr->Hello(); +} + +// ---------------------------------------------------------------------------- + +template < class TPtrBase, class TPtrDerived > +void DoTest() +{ + TPtrBase spb0 = CreateBase< TPtrBase >(); + TPtrBase spb1( spb0 ); + + UseBase< TPtrBase >( CreateBase< TPtrBase >() ); + + TPtrDerived spd1 = CreateDerived< TPtrDerived >(); + TPtrBase spb2( spd1 ); + + // NOTE: this does not compile with gcc 4.3.1 also for std::auto_ptr; + // it should work (Copy-initialization, base-from-derived) + // according to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1128.pdf + // It does compile with Visual C++ 8 (need to test with 9) + // UseBase(CreateDerived()); + + // Quick fix + UseBase< TPtrBase >( TPtrBase( CreateDerived< TPtrDerived >() ) ); +} + +// ---------------------------------------------------------------------------- + +void TryColvinGibbonsTrick( void ) +{ + DoTest(); // OK + DoTest(); // FIXME: eror: + // assignment of read-only reference 'val' +} + +// ----------------------------------------------------------------------------