|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49592 - in sandbox/introspection: boost/introspection libs/introspection/msvc libs/introspection/msvc/basics libs/introspection/msvc/introspection libs/introspection/msvc/test libs/introspection/test
From: jl_at_[hidden]
Date: 2008-11-04 15:58:04
Author: jll
Date: 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
New Revision: 49592
URL: http://svn.boost.org/trac/boost/changeset/49592
Log:
reorganize solution and projects in msvc
variadic operator () in bound_member_function
Added:
sandbox/introspection/libs/introspection/msvc/basics/
sandbox/introspection/libs/introspection/msvc/basics/basics.vcproj (contents, props changed)
sandbox/introspection/libs/introspection/msvc/introspection/
sandbox/introspection/libs/introspection/msvc/introspection/introspection.vcproj (contents, props changed)
sandbox/introspection/libs/introspection/msvc/test/
sandbox/introspection/libs/introspection/msvc/test/test.vcproj (contents, props changed)
Text files modified:
sandbox/introspection/boost/introspection/introspection.hpp | 7 ++++++-
sandbox/introspection/libs/introspection/msvc/introspection.sln | 28 +++++++++++++++++++++++-----
sandbox/introspection/libs/introspection/test/test.cpp | 10 +++++++---
3 files changed, 36 insertions(+), 9 deletions(-)
Modified: sandbox/introspection/boost/introspection/introspection.hpp
==============================================================================
--- sandbox/introspection/boost/introspection/introspection.hpp (original)
+++ sandbox/introspection/boost/introspection/introspection.hpp 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -510,12 +510,17 @@
const OBJECT* object_;
FUNCTION function_;
-
+
return_type operator ()() const
{
return function_.direct_member()->call(
object_->type()->adjust(function_.path(), const_cast<void*>(object_->address())));
}
+
+ #define BOOST_INTROSPECTION_MAX_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
+ #define BOOST_PP_ITERATION_LIMITS (1, BOOST_INTROSPECTION_MAX_SIZE - 1)
+ #define BOOST_PP_FILENAME_1 "boost/introspection/detail/object_call_spec.hpp"
+ #include BOOST_PP_ITERATE()
};
template<typename T>
Added: sandbox/introspection/libs/introspection/msvc/basics/basics.vcproj
==============================================================================
--- (empty file)
+++ sandbox/introspection/libs/introspection/msvc/basics/basics.vcproj 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="basics"
+ ProjectGUID="{97B74584-09D4-4F85-BFE1-554183FCEBC6}"
+ RootNamespace="basics"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ ExceptionHandling="2"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="2"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\examples\basics.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Modified: sandbox/introspection/libs/introspection/msvc/introspection.sln
==============================================================================
--- sandbox/introspection/libs/introspection/msvc/introspection.sln (original)
+++ sandbox/introspection/libs/introspection/msvc/introspection.sln 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -1,7 +1,17 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "introspection", "introspection.vcproj", "{B9AED528-A739-4236-8FBF-E8970EEB4BD1}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "introspection", "introspection\introspection.vcproj", "{776CE056-21F3-4B76-8A7F-D3B112B426DE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test\test.vcproj", "{BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE} = {776CE056-21F3-4B76-8A7F-D3B112B426DE}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basics", "basics\basics.vcproj", "{97B74584-09D4-4F85-BFE1-554183FCEBC6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE} = {776CE056-21F3-4B76-8A7F-D3B112B426DE}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -9,10 +19,18 @@
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B9AED528-A739-4236-8FBF-E8970EEB4BD1}.Debug|Win32.ActiveCfg = Debug|Win32
- {B9AED528-A739-4236-8FBF-E8970EEB4BD1}.Debug|Win32.Build.0 = Debug|Win32
- {B9AED528-A739-4236-8FBF-E8970EEB4BD1}.Release|Win32.ActiveCfg = Release|Win32
- {B9AED528-A739-4236-8FBF-E8970EEB4BD1}.Release|Win32.Build.0 = Release|Win32
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE}.Debug|Win32.Build.0 = Debug|Win32
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE}.Release|Win32.ActiveCfg = Release|Win32
+ {776CE056-21F3-4B76-8A7F-D3B112B426DE}.Release|Win32.Build.0 = Release|Win32
+ {BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}.Debug|Win32.Build.0 = Debug|Win32
+ {BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}.Release|Win32.ActiveCfg = Release|Win32
+ {BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}.Release|Win32.Build.0 = Release|Win32
+ {97B74584-09D4-4F85-BFE1-554183FCEBC6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {97B74584-09D4-4F85-BFE1-554183FCEBC6}.Debug|Win32.Build.0 = Debug|Win32
+ {97B74584-09D4-4F85-BFE1-554183FCEBC6}.Release|Win32.ActiveCfg = Release|Win32
+ {97B74584-09D4-4F85-BFE1-554183FCEBC6}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Added: sandbox/introspection/libs/introspection/msvc/introspection/introspection.vcproj
==============================================================================
--- (empty file)
+++ sandbox/introspection/libs/introspection/msvc/introspection/introspection.vcproj 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="introspection"
+ ProjectGUID="{776CE056-21F3-4B76-8A7F-D3B112B426DE}"
+ RootNamespace="introspection"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ ExceptionHandling="2"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="2"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\src\class_type.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\detail.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\detail\fun_n_spec.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\detail\function_type_helper_spec.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\introspection.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\detail\make_spec.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\introspection\detail\object_call_spec.hpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Added: sandbox/introspection/libs/introspection/msvc/test/test.vcproj
==============================================================================
--- (empty file)
+++ sandbox/introspection/libs/introspection/msvc/test/test.vcproj 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="test"
+ ProjectGUID="{BD8EA3D9-965F-4EBF-BE57-0CFA29EFF0D9}"
+ RootNamespace="test"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ ExceptionHandling="2"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\..\..\.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="2"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\test\test.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Modified: sandbox/introspection/libs/introspection/test/test.cpp
==============================================================================
--- sandbox/introspection/libs/introspection/test/test.cpp (original)
+++ sandbox/introspection/libs/introspection/test/test.cpp 2008-11-04 15:58:03 EST (Tue, 04 Nov 2008)
@@ -111,9 +111,8 @@
BOOST_INTROSPECTION_DEFAULT_CONSTRUCTOR(dog);
BOOST_INTROSPECTION_CONSTRUCTOR_1(dog, const std::string&);
BOOST_INTROSPECTION_MEMBER_VARIABLE(dog, name_);
- //BOOST_INTROSPECTION_OVERLOADED_MEMBER_FUNCTION(dog, name, (string (dog::*)() const));
- introspection_class<dog>::function<string (dog::*)() const>("name", &dog::name);
- introspection_class<dog>::function<void (dog::*)(const string&)>("name", &dog::name);
+ BOOST_INTROSPECTION_OVERLOADED_MEMBER_FUNCTION(dog, name, string (dog::*)() const);
+ BOOST_INTROSPECTION_OVERLOADED_MEMBER_FUNCTION(dog, name, void (dog::*)(const string&));
BOOST_INTROSPECTION_MEMBER_FUNCTION(dog, bark);
introspection_class<dog>::instance()->dump_inheritance_tree(cout);
@@ -187,6 +186,11 @@
object o("dog");
member_function<string (object::*)() const> dog_name(o, "name");
BOOST_CHECK(droopy.name() == o[dog_name]());
+
+ member_function<void (object::*)(const string&)> set_dog_name(o, "name");
+ o[set_dog_name]("Rantanplan");
+
+ BOOST_CHECK("Rantanplan" == o[dog_name]());
}
{
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk