Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72156 - in sandbox/property: boost/property libs/property/test
From: eldiener_at_[hidden]
Date: 2011-05-25 10:49:39


Author: eldiener
Date: 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
New Revision: 72156
URL: http://svn.boost.org/trac/boost/changeset/72156

Log:
Simplified and updated tests.
Added:
   sandbox/property/libs/property/test/test_auto_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_data_predicate.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_data_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_function_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_functor_impl.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_impl.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_predicate.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_impl.cpp (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value.cpp (contents, props changed)
Removed:
   sandbox/property/libs/property/test/test_auto_predicate_character.cpp
   sandbox/property/libs/property/test/test_auto_predicate_enum.cpp
   sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp
   sandbox/property/libs/property/test/test_auto_predicate_integer.cpp
   sandbox/property/libs/property/test/test_auto_value_bool.cpp
   sandbox/property/libs/property/test/test_auto_value_character.cpp
   sandbox/property/libs/property/test/test_auto_value_enum.cpp
   sandbox/property/libs/property/test/test_auto_value_floating_point.cpp
   sandbox/property/libs/property/test/test_auto_value_integer.cpp
   sandbox/property/libs/property/test/test_auto_value_pointer.cpp
   sandbox/property/libs/property/test/test_auto_value_user_defined.cpp
   sandbox/property/libs/property/test/test_callable_value_bool.cpp
   sandbox/property/libs/property/test/test_callable_value_character.cpp
   sandbox/property/libs/property/test/test_callable_value_enum.cpp
   sandbox/property/libs/property/test/test_callable_value_floating_point.cpp
   sandbox/property/libs/property/test/test_callable_value_integer.cpp
   sandbox/property/libs/property/test/test_callable_value_pointer.cpp
   sandbox/property/libs/property/test/test_callable_value_user_defined.cpp
   sandbox/property/libs/property/test/test_data_predicate_character.cpp
   sandbox/property/libs/property/test/test_data_predicate_enum.cpp
   sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp
   sandbox/property/libs/property/test/test_data_predicate_integer.cpp
   sandbox/property/libs/property/test/test_data_value_bool.cpp
   sandbox/property/libs/property/test/test_data_value_character.cpp
   sandbox/property/libs/property/test/test_data_value_enum.cpp
   sandbox/property/libs/property/test/test_data_value_floating_point.cpp
   sandbox/property/libs/property/test/test_data_value_integer.cpp
   sandbox/property/libs/property/test/test_data_value_pointer.cpp
   sandbox/property/libs/property/test/test_data_value_user_defined.cpp
   sandbox/property/libs/property/test/test_function_value_bool.cpp
   sandbox/property/libs/property/test/test_function_value_character.cpp
   sandbox/property/libs/property/test/test_function_value_enum.cpp
   sandbox/property/libs/property/test/test_function_value_floating_point.cpp
   sandbox/property/libs/property/test/test_function_value_integer.cpp
   sandbox/property/libs/property/test/test_function_value_pointer.cpp
   sandbox/property/libs/property/test/test_function_value_user_defined.cpp
   sandbox/property/libs/property/test/test_functor_value_bool.cpp
   sandbox/property/libs/property/test/test_functor_value_character.cpp
   sandbox/property/libs/property/test/test_functor_value_enum.cpp
   sandbox/property/libs/property/test/test_functor_value_floating_point.cpp
   sandbox/property/libs/property/test/test_functor_value_integer.cpp
   sandbox/property/libs/property/test/test_functor_value_pointer.cpp
   sandbox/property/libs/property/test/test_functor_value_user_defined.cpp
   sandbox/property/libs/property/test/test_member_data_predicate_character.cpp
   sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp
   sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp
   sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp
   sandbox/property/libs/property/test/test_member_data_value_bool.cpp
   sandbox/property/libs/property/test/test_member_data_value_character.cpp
   sandbox/property/libs/property/test/test_member_data_value_enum.cpp
   sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp
   sandbox/property/libs/property/test/test_member_data_value_integer.cpp
   sandbox/property/libs/property/test/test_member_data_value_pointer.cpp
   sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp
   sandbox/property/libs/property/test/test_member_function_value_bool.cpp
   sandbox/property/libs/property/test/test_member_function_value_character.cpp
   sandbox/property/libs/property/test/test_member_function_value_enum.cpp
   sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp
   sandbox/property/libs/property/test/test_member_function_value_integer.cpp
   sandbox/property/libs/property/test/test_member_function_value_pointer.cpp
   sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp
Text files modified:
   sandbox/property/boost/property/property_callable_value.hpp | 14 +++---
   sandbox/property/boost/property/property_notification_boost_function.hpp | 5 ++
   sandbox/property/libs/property/test/Jamfile.v2 | 72 ++++++---------------------------------
   sandbox/property/libs/property/test/test_auto_value.hpp | 6 +-
   sandbox/property/libs/property/test/test_callable_value.hpp | 6 +-
   sandbox/property/libs/property/test/test_data_impl.cpp | 36 +++++++------------
   sandbox/property/libs/property/test/test_data_impl.hpp | 12 +-----
   sandbox/property/libs/property/test/test_data_predicate.hpp | 9 ++--
   sandbox/property/libs/property/test/test_data_value.hpp | 19 +++++-----
   sandbox/property/libs/property/test/test_function_impl.cpp | 14 +++----
   sandbox/property/libs/property/test/test_function_impl.hpp | 12 +++---
   sandbox/property/libs/property/test/test_function_value.hpp | 8 ++--
   sandbox/property/libs/property/test/test_functor_impl.hpp | 56 +++++++++++++++++++++++++++++++
   sandbox/property/libs/property/test/test_functor_value.hpp | 36 +++++++++++++++++--
   sandbox/property/libs/property/test/test_member_data_impl.hpp | 6 +-
   sandbox/property/libs/property/test/test_member_data_predicate.hpp | 15 ++++++++
   sandbox/property/libs/property/test/test_member_data_value.hpp | 33 ++++++++++++++++-
   sandbox/property/libs/property/test/test_member_function_impl.hpp | 12 +++---
   sandbox/property/libs/property/test/test_member_function_value.hpp | 34 ++++++++++++++++--
   sandbox/property/libs/property/test/test_pod.hpp | 9 +++++
   20 files changed, 256 insertions(+), 158 deletions(-)

Modified: sandbox/property/boost/property/property_callable_value.hpp
==============================================================================
--- sandbox/property/boost/property/property_callable_value.hpp (original)
+++ sandbox/property/boost/property/property_callable_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -36,7 +36,7 @@
 
     public:
   
- explicit prop_callable(boost::function<T ()> g) :
+ explicit prop_callable(const boost::function<T ()> & g) :
       fg(g)
       {
       }
@@ -70,12 +70,12 @@
 
     public:
   
- explicit prop_callable(boost::function<void (T)> s) :
+ explicit prop_callable(const boost::function<void (T)> & s) :
       fs(s)
       {
       }
       
- prop_callable(boost::function<void (T)> s,T arg) :
+ prop_callable(const boost::function<void (T)> & s,T arg) :
       fs(s)
       {
       if (fs == 0)
@@ -86,7 +86,7 @@
       }
       
     template<class U>
- prop_callable(boost::function<void (T)> s,U arg) :
+ prop_callable(const boost::function<void (T)> & s,U arg) :
       fs(s)
       {
       if (fs == 0)
@@ -139,20 +139,20 @@
       {
       }
     
- prop_callable(boost::function<T ()> g,boost::function<void (T)> s) :
+ prop_callable(const boost::function<T ()> & g,const boost::function<void (T)> & s) :
       prop_callable<T,read_tag>(g),
       prop_callable<T,write_tag>(s)
       {
       }
       
- prop_callable(boost::function<T ()> g,boost::function<void (T)> s,T arg) :
+ prop_callable(const boost::function<T ()> & g,const boost::function<void (T)> & s,T arg) :
       prop_callable<T,read_tag>(g),
       prop_callable<T,write_tag>(s,arg)
       {
       }
       
     template<class U>
- prop_callable(boost::function<T ()> g,boost::function<void (T)> s,U arg) :
+ prop_callable(const boost::function<T ()> & g,const boost::function<void (T)> & s,U arg) :
       prop_callable<T,read_tag>(g),
       prop_callable<T,write_tag>(s,arg)
       {

Modified: sandbox/property/boost/property/property_notification_boost_function.hpp
==============================================================================
--- sandbox/property/boost/property/property_notification_boost_function.hpp (original)
+++ sandbox/property/boost/property/property_notification_boost_function.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -19,7 +19,10 @@
       
     void property_changed(const i_property_write<T> & signaller,boost::optional<T> oldValue,T newValue)
       {
- fun(signaller,oldValue,newValue);
+ if (fun)
+ {
+ fun(signaller,oldValue,newValue);
+ }
       }
     
     };

Modified: sandbox/property/libs/property/test/Jamfile.v2
==============================================================================
--- sandbox/property/libs/property/test/Jamfile.v2 (original)
+++ sandbox/property/libs/property/test/Jamfile.v2 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -9,6 +9,7 @@
 project property_tests : requirements <warnings>on
                                       <toolset>gcc:<warnings>all
                                       <toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import"
+ <toolset>gcc-4.6.0:<cxxflags>"-Wno-address"
                                       <toolset>msvc:<warnings>all
                                       <toolset>msvc:<cxxflags>"-wd4512"
                                       <toolset>msvc-9.0:<define>"_SCL_SECURE_NO_WARNINGS"
@@ -17,72 +18,21 @@
 
 test-suite property
     :
- [ run test_auto_predicate_character.cpp ]
- [ run test_auto_predicate_enum.cpp ]
- [ run test_auto_predicate_floating_point.cpp ]
- [ run test_auto_predicate_integer.cpp ]
+ [ run test_auto_predicate.cpp ]
         [ run test_auto_reference.cpp ]
- [ run test_auto_value_bool.cpp ]
- [ run test_auto_value_character.cpp ]
- [ run test_auto_value_enum.cpp ]
- [ run test_auto_value_floating_point.cpp ]
- [ run test_auto_value_integer.cpp ]
- [ run test_auto_value_pointer.cpp ]
- [ run test_auto_value_user_defined.cpp ]
+ [ run test_auto_value.cpp ]
         [ run test_callable_reference.cpp ]
- [ run test_callable_value_bool.cpp ]
- [ run test_callable_value_character.cpp ]
- [ run test_callable_value_enum.cpp ]
- [ run test_callable_value_floating_point.cpp ]
- [ run test_callable_value_integer.cpp ]
- [ run test_callable_value_pointer.cpp ]
- [ run test_callable_value_user_defined.cpp ]
- [ run test_data_predicate_character.cpp ]
- [ run test_data_predicate_enum.cpp ]
- [ run test_data_predicate_floating_point.cpp ]
- [ run test_data_predicate_integer.cpp ]
+ [ run test_callable_value.cpp ]
+ [ run test_data_predicate.cpp ]
         [ run test_data_reference.cpp ]
- [ run test_data_value_bool.cpp ]
- [ run test_data_value_character.cpp ]
- [ run test_data_value_enum.cpp ]
- [ run test_data_value_floating_point.cpp ]
- [ run test_data_value_integer.cpp ]
- [ run test_data_value_pointer.cpp ]
- [ run test_data_value_user_defined.cpp ]
+ [ run test_data_value.cpp ]
         [ run test_function_reference.cpp ]
- [ run test_function_value_bool.cpp ]
- [ run test_function_value_character.cpp ]
- [ run test_function_value_enum.cpp ]
- [ run test_function_value_floating_point.cpp ]
- [ run test_function_value_integer.cpp ]
- [ run test_function_value_pointer.cpp ]
- [ run test_function_value_user_defined.cpp ]
+ [ run test_function_value.cpp ]
         [ run test_functor_reference.cpp ]
- [ run test_functor_value_bool.cpp ]
- [ run test_functor_value_character.cpp ]
- [ run test_functor_value_enum.cpp ]
- [ run test_functor_value_floating_point.cpp ]
- [ run test_functor_value_integer.cpp ]
- [ run test_functor_value_pointer.cpp ]
- [ run test_functor_value_user_defined.cpp ]
- [ run test_member_data_predicate_character.cpp ]
- [ run test_member_data_predicate_enum.cpp ]
- [ run test_member_data_predicate_floating_point.cpp ]
- [ run test_member_data_predicate_integer.cpp ]
+ [ run test_functor_value.cpp ]
+ [ run test_member_data_predicate.cpp ]
         [ run test_member_data_reference.cpp ]
- [ run test_member_data_value_bool.cpp ]
- [ run test_member_data_value_character.cpp ]
- [ run test_member_data_value_enum.cpp ]
- [ run test_member_data_value_floating_point.cpp ]
- [ run test_member_data_value_integer.cpp ]
- [ run test_member_data_value_pointer.cpp ]
- [ run test_member_data_value_user_defined.cpp ]
+ [ run test_member_data_value.cpp ]
         [ run test_member_function_reference.cpp ]
- [ run test_member_function_value_bool.cpp ]
- [ run test_member_function_value_character.cpp ]
- [ run test_member_function_value_enum.cpp ]
- [ run test_member_function_value_floating_point.cpp ]
- [ run test_member_function_value_integer.cpp ]
- [ run test_member_function_value_pointer.cpp ]
- [ run test_member_function_value_user_defined.cpp ]
+ [ run test_member_function_value.cpp ]
     ;

Deleted: sandbox/property/libs/property/test/test_auto_predicate_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_predicate_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_predicate_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_predicate_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_predicate_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_predicate_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_auto_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_auto_value.hpp"
+#include "test_global_data.hpp"
+
+prop_auto<char> p_gl_char;
+prop_auto<int,default_policy_tag,read_tag> p_gl_int_const(34662);
+prop_auto<double> p_gl_double;
+prop_auto<bool> p_gl_bool;
+prop_auto<int * const> p_gl_pointer_const(&gld_int);
+prop_auto<test_enum> p_gl_enum(e_test_third);
+prop_auto<test_pod,notification_boost_function> p_gl_pod_ntf;
+
+p_auto_value_class::p_auto_value_class() :
+ p_double_ntf(15),
+ p_bool(true),
+ p_enum_const(e_test_second)
+ {
+ }
+
+prop_auto<char> p_auto_value_class::p_st_char('T');
+prop_auto<int,default_policy_tag,read_tag> p_auto_value_class::p_st_int_const(34);
+prop_auto<double> p_auto_value_class::p_st_double;
+prop_auto<bool,notification_boost_function> p_auto_value_class::p_st_bool_ntf;
+prop_auto<int *> p_auto_value_class::p_st_pointer;
+prop_auto<test_enum,notification_boost_function> p_auto_value_class::p_st_enum_ntf;
+prop_auto<test_pod const> p_auto_value_class::p_st_pod_const(test_pod('y',45,32.6,true));
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+#include "test_global_data.cpp"

Modified: sandbox/property/libs/property/test/test_auto_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value.hpp (original)
+++ sandbox/property/libs/property/test/test_auto_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -14,7 +14,7 @@
 extern prop_auto<bool> p_gl_bool;
 extern prop_auto<int * const> p_gl_pointer_const;
 extern prop_auto<test_enum> p_gl_enum;
-extern prop_auto<test_pod,notification_boost_function> p_gl_class_ntf;
+extern prop_auto<test_pod,notification_boost_function> p_gl_pod_ntf;
 
 class p_auto_value_class
   {
@@ -29,7 +29,7 @@
   prop_auto<bool> p_bool;
   prop_auto<int *> p_pointer;
   prop_auto<test_enum,default_policy_tag,read_tag> p_enum_const;
- prop_auto<test_pod> p_class;
+ prop_auto<test_pod> p_pod;
   
   static prop_auto<char> p_st_char;
   static prop_auto<int,default_policy_tag,read_tag> p_st_int_const;
@@ -37,7 +37,7 @@
   static prop_auto<bool,notification_boost_function> p_st_bool_ntf;
   static prop_auto<int *> p_st_pointer;
   static prop_auto<test_enum,notification_boost_function> p_st_enum_ntf;
- static prop_auto<test_pod const> p_st_class_const;
+ static prop_auto<test_pod const> p_st_pod_const;
   
   };
   

Deleted: sandbox/property/libs/property/test/test_auto_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_auto_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_auto_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_auto_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_callable_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,84 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/bind.hpp>
+#include "test_callable_value.hpp"
+#include "test_function_impl.hpp"
+#include "test_functor_impl.hpp"
+#include "test_member_function_impl.hpp"
+
+p_member_function_impl_class p_member_function_impl_object;
+
+prop_callable<char> p_gl_char
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_char_read,&p_member_function_impl_object)),
+ (boost::bind(&p_member_function_impl_class::p_function_char_write,&p_member_function_impl_object,_1))
+ );
+prop_callable<int> p_gl_int(&p_function_int_read,&p_function_int_write);
+prop_callable<double const> p_gl_double_const(&p_function_double_read);
+prop_callable<bool> p_gl_bool
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_bool_read,&p_member_function_impl_object)),
+ (boost::bind(&p_member_function_impl_class::p_function_bool_write,&p_member_function_impl_object,_1))
+ );
+prop_callable<int *> p_gl_pointer(&p_function_pointer_read,&p_function_pointer_write);
+prop_callable<test_enum,read_tag> p_gl_enum_const((p_functor_class_enum()));
+prop_callable<test_pod const> p_gl_pod_const(&p_function_pod_read);
+
+p_callable_value_class::p_callable_value_class() :
+ p_char(&p_function_char_read,&p_function_char_write),
+ p_int_const(p_functor_class_int()),
+ p_double(p_functor_class_double(),p_functor_class_double()),
+ p_bool_const(p_functor_class_bool()),
+ p_pointer_const
+ (
+ boost::bind(&p_member_function_impl_class::p_function_pointer_read,&p_member_function_impl_object)
+ ),
+ p_enum_const(&p_function_enum_read),
+ p_pod(p_functor_class_pod(),p_functor_class_pod())
+ {
+ }
+
+prop_callable<char> p_callable_value_class::p_st_char
+ (
+ (p_functor_class_char()),
+ (p_functor_class_char())
+ );
+prop_callable<int> p_callable_value_class::p_st_int
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_int_read,&p_member_function_impl_object)),
+ (boost::bind(&p_member_function_impl_class::p_function_int_write,&p_member_function_impl_object,_1))
+ );
+prop_callable<double> p_callable_value_class::p_st_double
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_double_read,&p_member_function_impl_object)),
+ (boost::bind(&p_member_function_impl_class::p_function_double_write,&p_member_function_impl_object,_1))
+ );
+prop_callable<bool> p_callable_value_class::p_st_bool
+ (
+ &p_function_bool_read,
+ &p_function_bool_write
+ );
+prop_callable<int * const> p_callable_value_class::p_st_pointer_const
+ (
+ (p_functor_class_pointer())
+ );
+prop_callable<test_enum> p_callable_value_class::p_st_enum
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_enum_read,&p_member_function_impl_object)),
+ (boost::bind(&p_member_function_impl_class::p_function_enum_write,&p_member_function_impl_object,_1))
+ );
+prop_callable<test_pod const> p_callable_value_class::p_st_pod_const
+ (
+ (boost::bind(&p_member_function_impl_class::p_function_pod_read,&p_member_function_impl_object))
+ );
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+#include "test_global_data.cpp"
+#include "test_function_impl.cpp"
+#include "test_functor_impl.cpp"
+#include "test_member_function_impl.cpp"

Modified: sandbox/property/libs/property/test/test_callable_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value.hpp (original)
+++ sandbox/property/libs/property/test/test_callable_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -13,7 +13,7 @@
 extern prop_callable<bool> p_gl_bool;
 extern prop_callable<int *> p_gl_pointer;
 extern prop_callable<test_enum,read_tag> p_gl_enum_const;
-extern prop_callable<test_pod const> p_gl_class_const;
+extern prop_callable<test_pod const> p_gl_pod_const;
 
 class p_callable_value_class
   {
@@ -28,7 +28,7 @@
   prop_callable<bool,read_tag> p_bool_const;
   prop_callable<int * const> p_pointer_const;
   prop_callable<test_enum,read_tag> p_enum_const;
- prop_callable<test_pod> p_class;
+ prop_callable<test_pod> p_pod;
   
   static prop_callable<char> p_st_char;
   static prop_callable<int> p_st_int;
@@ -36,7 +36,7 @@
   static prop_callable<bool> p_st_bool;
   static prop_callable<int * const> p_st_pointer_const;
   static prop_callable<test_enum> p_st_enum;
- static prop_callable<test_pod const> p_st_class_const;
+ static prop_callable<test_pod const> p_st_pod_const;
   
   };
   

Deleted: sandbox/property/libs/property/test/test_callable_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_callable_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_callable_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_callable_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Modified: sandbox/property/libs/property/test/test_data_impl.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_impl.cpp (original)
+++ sandbox/property/libs/property/test/test_data_impl.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -1,25 +1,17 @@
 #include "test_data_impl.hpp"
 
-char p_data_char;
-int p_data_int;
-double p_data_double;
-bool p_data_bool;
-int * p_data_pointer;
-test_enum p_data_enum;
-test_pod p_data_class;
+char p_data_class::p_char(' ');
+int p_data_class::p_int(0);
+double p_data_class::p_double(0.0);
+bool p_data_class::p_bool(false);
+int * p_data_class::p_pointer(0);
+test_enum p_data_class::p_enum(e_test_default);
+test_pod p_data_class::p_pod;
 
-char p_data_class::p_char;
-int p_data_class::p_int;
-double p_data_class::p_double;
-bool p_data_class::p_bool;
-int * p_data_class::p_pointer;
-test_enum p_data_class::p_enum;
-test_pod p_data_class::p_class;
-
-char p_data_class::p_char_2;
-int p_data_class::p_int_2;
-double p_data_class::p_double_2;
-bool p_data_class::p_bool_2;
-int * p_data_class::p_pointer_2;
-test_enum p_data_class::p_enum_2;
-test_pod p_data_class::p_class_2;
+char p_data_class::p_char_2(' ');
+int p_data_class::p_int_2(0);
+double p_data_class::p_double_2(0.0);
+bool p_data_class::p_bool_2(false);
+int * p_data_class::p_pointer_2(0);
+test_enum p_data_class::p_enum_2(e_test_default);
+test_pod p_data_class::p_pod_2;

Modified: sandbox/property/libs/property/test/test_data_impl.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_impl.hpp (original)
+++ sandbox/property/libs/property/test/test_data_impl.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -4,14 +4,6 @@
 #include "test_enum.hpp"
 #include "test_pod.hpp"
 
-extern char p_data_char;
-extern int p_data_int;
-extern double p_data_double;
-extern bool p_data_bool;
-extern int * p_data_pointer;
-extern test_enum p_data_enum;
-extern test_pod p_data_class;
-
 class p_data_class
   {
   
@@ -23,7 +15,7 @@
   static bool p_bool;
   static int * p_pointer;
   static test_enum p_enum;
- static test_pod p_class;
+ static test_pod p_pod;
   
   static char p_char_2;
   static int p_int_2;
@@ -31,7 +23,7 @@
   static bool p_bool_2;
   static int * p_pointer_2;
   static test_enum p_enum_2;
- static test_pod p_class_2;
+ static test_pod p_pod_2;
   
   };
   

Added: sandbox/property/libs/property/test/test_data_predicate.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_predicate.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/lambda/lambda.hpp>
+#include "test_data_predicate.hpp"
+
+using namespace boost::lambda;
+
+prop_data_predicate<char,&gld_char,notification_boost_function,predicate_failure_runtime_exception> p_gl_char_pred_ntf_err(_1 != '0');
+prop_data_predicate<int,&p_data_class::p_int_2,notification_boost_function> p_gl_int_pred_ntf(_1 < 1000 && _1 > 100);
+prop_data_predicate<double,&gld_double,default_policy_tag,predicate_failure_runtime_exception> p_gl_double_pred_err(_1 >= 11.0 && _1 <= 22.0);
+prop_data_predicate<test_enum,&gld_enum> p_gl_enum_pred(_1 != e_test_second);
+
+p_data_predicate_class::p_data_predicate_class() :
+ p_char_pred_ntf_err(_1 == 'f' || _1 == 'g' || _1 == 'h'),
+ p_int_pred(_1 >= 5000),
+ p_double_pred_ntf_err(_1 <= 300.0),
+ p_enum_pred_err(_1 != e_test_first)
+ {
+ }
+
+prop_data_predicate<char,&p_data_class::p_char> p_data_predicate_class::p_st_char_pred(_1 != 'i');
+prop_data_predicate<int,&gld_int,notification_boost_function,predicate_failure_runtime_exception> p_data_predicate_class::p_st_int_pred_ntf_err(_1 >= 35000);
+prop_data_predicate<double,&p_data_class::p_double_2,default_policy_tag,predicate_failure_runtime_exception> p_data_predicate_class::p_st_double_pred_err(_1 <= 5000.0);
+prop_data_predicate<test_enum,&p_data_class::p_enum_2,notification_boost_function> p_data_predicate_class::p_st_enum_pred_ntf(_1 != e_test_third);
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+#include "test_global_data.cpp"
+#include "test_data_impl.cpp"

Modified: sandbox/property/libs/property/test/test_data_predicate.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_predicate.hpp (original)
+++ sandbox/property/libs/property/test/test_data_predicate.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -3,16 +3,17 @@
 
 #include "test_enum.hpp"
 #include "test_data_impl.hpp"
+#include "test_global_data.hpp"
 #include <boost/property/property_data_predicate.hpp>
 #include <boost/property/property_notification_boost_function.hpp>
 #include <boost/property/property_predicate_failure_runtime_exception.hpp>
 
 using namespace properties;
 
-extern prop_data_predicate<char,&p_data_char,notification_boost_function,predicate_failure_runtime_exception> p_gl_char_pred_ntf_err;
+extern prop_data_predicate<char,&gld_char,notification_boost_function,predicate_failure_runtime_exception> p_gl_char_pred_ntf_err;
 extern prop_data_predicate<int,&p_data_class::p_int_2,notification_boost_function> p_gl_int_pred_ntf;
-extern prop_data_predicate<double,&p_data_double,default_policy_tag,predicate_failure_runtime_exception> p_gl_double_pred_err;
-extern prop_data_predicate<test_enum,&p_data_enum> p_gl_enum_pred;
+extern prop_data_predicate<double,&gld_double,default_policy_tag,predicate_failure_runtime_exception> p_gl_double_pred_err;
+extern prop_data_predicate<test_enum,&gld_enum> p_gl_enum_pred;
 
 class p_data_predicate_class
   {
@@ -27,7 +28,7 @@
   prop_data_predicate<test_enum,&p_data_class::p_enum,default_policy_tag,predicate_failure_runtime_exception> p_enum_pred_err;
   
   static prop_data_predicate<char,&p_data_class::p_char> p_st_char_pred;
- static prop_data_predicate<int,&p_data_int,notification_boost_function,predicate_failure_runtime_exception> p_st_int_pred_ntf_err;
+ static prop_data_predicate<int,&gld_int,notification_boost_function,predicate_failure_runtime_exception> p_st_int_pred_ntf_err;
   static prop_data_predicate<double,&p_data_class::p_double_2,default_policy_tag,predicate_failure_runtime_exception> p_st_double_pred_err;
   static prop_data_predicate<test_enum,&p_data_class::p_enum_2,notification_boost_function> p_st_enum_pred_ntf;
   

Deleted: sandbox/property/libs/property/test/test_data_predicate_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_predicate_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_predicate_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_predicate_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_predicate_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_predicate_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_data_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_data_value.hpp"
+#include "test_global_data.hpp"
+
+prop_data<char const,&p_data_class::p_char_2> p_gl_char_const;
+prop_data<int,&gld_int> p_gl_int;
+prop_data<double const,&gld_double> p_gl_double_const;
+prop_data<bool,&p_data_class::p_bool,default_policy_tag,read_tag> p_gl_bool;
+prop_data<int *,&gld_pointer,notification_boost_function> p_gl_pointer_ntf;
+prop_data<test_enum,&p_data_class::p_enum_2,notification_boost_function> p_gl_enum_ntf;
+prop_data<test_pod,&gld_pod,notification_boost_function> p_gl_pod_ntf;
+
+p_data_value_class::p_data_value_class()
+ {
+ }
+
+prop_data<char,&p_data_class::p_char> p_data_value_class::p_st_char;
+prop_data<int,&p_data_class::p_int> p_data_value_class::p_st_int;
+prop_data<double const,&p_data_class::p_double_2> p_data_value_class::p_st_double_const;
+prop_data<bool,&gld_bool> p_data_value_class::p_st_bool;
+prop_data<int *,&p_data_class::p_pointer_2> p_data_value_class::p_st_pointer;
+prop_data<test_enum,&gld_enum> p_data_value_class::p_st_enum;
+prop_data<test_pod const,&p_data_class::p_pod_2> p_data_value_class::p_st_pod_const;
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+#include "test_global_data.cpp"
+#include "test_data_impl.cpp"

Modified: sandbox/property/libs/property/test/test_data_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value.hpp (original)
+++ sandbox/property/libs/property/test/test_data_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -4,18 +4,19 @@
 #include "test_enum.hpp"
 #include "test_pod.hpp"
 #include "test_data_impl.hpp"
+#include "test_global_data.hpp"
 #include <boost/property/property_data_value.hpp>
 #include <boost/property/property_notification_boost_function.hpp>
 
 using namespace properties;
 
 extern prop_data<char const,&p_data_class::p_char_2> p_gl_char_const;
-extern prop_data<int,&p_data_int> p_gl_int;
-extern prop_data<double const,&p_data_double> p_gl_double_const;
+extern prop_data<int,&gld_int> p_gl_int;
+extern prop_data<double const,&gld_double> p_gl_double_const;
 extern prop_data<bool,&p_data_class::p_bool,default_policy_tag,read_tag> p_gl_bool;
-extern prop_data<int *,&p_data_pointer,notification_boost_function> p_gl_pointer_ntf;
+extern prop_data<int *,&gld_pointer,notification_boost_function> p_gl_pointer_ntf;
 extern prop_data<test_enum,&p_data_class::p_enum_2,notification_boost_function> p_gl_enum_ntf;
-extern prop_data<test_pod,&p_data_class,notification_boost_function> p_gl_class_ntf;
+extern prop_data<test_pod,&gld_pod,notification_boost_function> p_gl_pod_ntf;
 
 class p_data_value_class
   {
@@ -24,21 +25,21 @@
   
   p_data_value_class();
   
- prop_data<char,&p_data_char> p_char;
+ prop_data<char,&gld_char> p_char;
   prop_data<int,&p_data_class::p_int_2> p_int;
   prop_data<double,&p_data_class::p_double,notification_boost_function> p_double_ntf;
   prop_data<bool,&p_data_class::p_bool_2> p_bool;
   prop_data<int *,&p_data_class::p_pointer> p_pointer;
   prop_data<test_enum,&p_data_class::p_enum,default_policy_tag,read_tag> p_enum_const;
- prop_data<test_pod,&p_data_class::p_class> p_class;
+ prop_data<test_pod,&p_data_class::p_pod> p_pod;
   
   static prop_data<char,&p_data_class::p_char> p_st_char;
   static prop_data<int,&p_data_class::p_int> p_st_int;
   static prop_data<double const,&p_data_class::p_double_2> p_st_double_const;
- static prop_data<bool,&p_data_bool> p_st_bool;
+ static prop_data<bool,&gld_bool> p_st_bool;
   static prop_data<int *,&p_data_class::p_pointer_2> p_st_pointer;
- static prop_data<test_enum,&p_data_enum> p_st_enum;
- static prop_data<test_pod const,&p_data_class::p_class_2> p_st_class_const;
+ static prop_data<test_enum,&gld_enum> p_st_enum;
+ static prop_data<test_pod const,&p_data_class::p_pod_2> p_st_pod_const;
   
   };
   

Deleted: sandbox/property/libs/property/test/test_data_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_data_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_data_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Modified: sandbox/property/libs/property/test/test_function_impl.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_impl.cpp (original)
+++ sandbox/property/libs/property/test/test_function_impl.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -61,12 +61,12 @@
   gld_enum = data;
   }
   
-test_pod p_function_class_read()
+test_pod p_function_pod_read()
   {
   return gld_pod;
   }
   
-void p_function_class_write(test_pod data)
+void p_function_pod_write(test_pod data)
   {
   gld_pod = data;
   }
@@ -131,12 +131,12 @@
   st_enum = data;
   }
   
-test_pod p_function_class::p_class_read()
+test_pod p_function_class::p_pod_read()
   {
   return st_pod;
   }
   
-void p_function_class::p_class_write(test_pod data)
+void p_function_class::p_pod_write(test_pod data)
   {
   st_pod = data;
   }
@@ -201,12 +201,12 @@
   st_enum_2 = data;
   }
   
-test_pod p_function_class::p_class_read_2()
+test_pod p_function_class::p_pod_read_2()
   {
   return st_pod_2;
   }
   
-void p_function_class::p_class_write_2(test_pod data)
+void p_function_class::p_pod_write_2(test_pod data)
   {
   st_pod_2 = data;
   }
@@ -226,5 +226,3 @@
 int * p_function_class::st_pointer_2(0);
 test_enum p_function_class::st_enum_2(e_test_first);
 test_pod p_function_class::st_pod_2;
-
-#include "test_global_data.cpp"
\ No newline at end of file

Modified: sandbox/property/libs/property/test/test_function_impl.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_impl.hpp (original)
+++ sandbox/property/libs/property/test/test_function_impl.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -16,8 +16,8 @@
 extern void p_function_pointer_write(int *);
 extern test_enum p_function_enum_read();
 extern void p_function_enum_write(test_enum);
-extern test_pod p_function_class_read();
-extern void p_function_class_write(test_pod);
+extern test_pod p_function_pod_read();
+extern void p_function_pod_write(test_pod);
 
 class p_function_class
   {
@@ -36,8 +36,8 @@
   static void p_pointer_write(int *);
   static test_enum p_enum_read();
   static void p_enum_write(test_enum);
- static test_pod p_class_read();
- static void p_class_write(test_pod);
+ static test_pod p_pod_read();
+ static void p_pod_write(test_pod);
   
   static char p_char_read_2();
   static void p_char_write_2(char);
@@ -51,8 +51,8 @@
   static void p_pointer_write_2(int *);
   static test_enum p_enum_read_2();
   static void p_enum_write_2(test_enum);
- static test_pod p_class_read_2();
- static void p_class_write_2(test_pod);
+ static test_pod p_pod_read_2();
+ static void p_pod_write_2(test_pod);
   
   static char st_char;
   static int st_int;

Added: sandbox/property/libs/property/test/test_function_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_function_value.hpp"
+#include "test_global_data.hpp"
+
+prop_function<char,&p_function_class::p_char_read,&p_function_class::p_char_write> p_gl_char;
+prop_function<int,&p_function_class::p_int_read_2,&p_function_class::p_int_write_2> p_gl_int;
+prop_read_function<double,&p_function_double_read> p_gl_double_const;
+prop_write_function<bool,&p_function_bool_write> p_gl_bool_write;
+prop_function<int *,&p_function_pointer_read,&p_function_pointer_write> p_gl_pointer;
+prop_read_function<test_enum,&p_function_class::p_enum_read> p_gl_enum_const;
+prop_read_function<test_pod,&p_function_class::p_pod_read_2> p_gl_pod_const;
+
+p_function_value_class::p_function_value_class()
+ {
+ }
+
+prop_write_function<char,&p_function_class::p_char_write_2> p_function_value_class::p_st_char;
+prop_function<int,&p_function_int_read,&p_function_int_write> p_function_value_class::p_st_int;
+prop_function<double,&p_function_class::p_double_read_2,&p_function_class::p_double_write_2> p_function_value_class::p_st_double;
+prop_function<bool,&p_function_class::p_bool_read_2,&p_function_class::p_bool_write_2> p_function_value_class::p_st_bool;
+prop_function<int *,&p_function_class::p_pointer_read_2,&p_function_class::p_pointer_write_2> p_function_value_class::p_st_pointer;
+prop_read_function<test_enum,&p_function_enum_read> p_function_value_class::p_st_enum_const;
+prop_write_function<test_pod,&p_function_class::p_pod_write> p_function_value_class::p_st_pod_write;
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+#include "test_global_data.cpp"
+#include "test_function_impl.cpp"

Modified: sandbox/property/libs/property/test/test_function_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value.hpp (original)
+++ sandbox/property/libs/property/test/test_function_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -14,7 +14,7 @@
 extern prop_write_function<bool,&p_function_bool_write> p_gl_bool_write;
 extern prop_function<int *,&p_function_pointer_read,&p_function_pointer_write> p_gl_pointer;
 extern prop_read_function<test_enum,&p_function_class::p_enum_read> p_gl_enum_const;
-extern prop_read_function<test_pod,&p_function_class::p_class_read_2> p_gl_class_const;
+extern prop_read_function<test_pod,&p_function_class::p_pod_read_2> p_gl_pod_const;
 
 class p_function_value_class
   {
@@ -29,15 +29,15 @@
   prop_read_function<bool,&p_function_class::p_bool_read> p_bool_const;
   prop_read_function<int *,&p_function_class::p_pointer_read> p_pointer_const;
   prop_function<test_enum,&p_function_class::p_enum_read_2,&p_function_class::p_enum_write_2> p_enum;
- prop_read_function<test_pod,&p_function_class_read> p_class_const;
+ prop_read_function<test_pod,&p_function_pod_read> p_pod_const;
 
   static prop_write_function<char,&p_function_class::p_char_write_2> p_st_char;
   static prop_function<int,&p_function_int_read,&p_function_int_write> p_st_int;
   static prop_function<double,&p_function_class::p_double_read_2,&p_function_class::p_double_write_2> p_st_double;
   static prop_function<bool,&p_function_class::p_bool_read_2,&p_function_class::p_bool_write_2> p_st_bool;
- static prop_read_function<int *,&p_function_class::p_pointer_read_2> p_st_pointer_const;
+ static prop_function<int *,&p_function_class::p_pointer_read_2,&p_function_class::p_pointer_write_2> p_st_pointer;
   static prop_read_function<test_enum,&p_function_enum_read> p_st_enum_const;
- static prop_write_function<test_pod,&p_function_class::p_class_write> p_st_class_write;
+ static prop_write_function<test_pod,&p_function_class::p_pod_write> p_st_pod_write;
   
   };
   

Deleted: sandbox/property/libs/property/test/test_function_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_function_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_function_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_functor_impl.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_impl.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+#include "test_functor_impl.hpp"
+
+p_functor_class_char::p_functor_class_char() : data(' ') { }
+p_functor_class_char::p_functor_class_char(char c) : data(c) { }
+char p_functor_class_char::operator()() { return data; }
+void p_functor_class_char::operator()(char d) { data = d; }
+
+p_functor_class_int::p_functor_class_int() : data(0) { }
+p_functor_class_int::p_functor_class_int(int i) : data(i) { }
+int p_functor_class_int::operator()() { return data; }
+void p_functor_class_int::operator()(int d) { data = d; }
+
+p_functor_class_double::p_functor_class_double() : data(0.0) { }
+p_functor_class_double::p_functor_class_double(double d) : data(d) { }
+double p_functor_class_double::operator()() { return data; }
+void p_functor_class_double::operator()(double d) { data = d; }
+
+p_functor_class_bool::p_functor_class_bool() : data(false) { }
+p_functor_class_bool::p_functor_class_bool(bool b) : data(b) { }
+bool p_functor_class_bool::operator()() { return data; }
+void p_functor_class_bool::operator()(bool d) { data = d; }
+
+p_functor_class_pointer::p_functor_class_pointer() : data(0) { }
+p_functor_class_pointer::p_functor_class_pointer(int * p) : data(p) { }
+int * p_functor_class_pointer::operator()() { return data; }
+void p_functor_class_pointer::operator()(int * d) { data = d; }
+
+p_functor_class_enum::p_functor_class_enum() : data(e_test_default) { }
+p_functor_class_enum::p_functor_class_enum(test_enum e) : data(e) { }
+test_enum p_functor_class_enum::operator()() { return data; }
+void p_functor_class_enum::operator()(test_enum d) { data = d; }
+
+p_functor_class_pod::p_functor_class_pod() { }
+p_functor_class_pod::p_functor_class_pod(test_pod p) : data(p) { }
+test_pod p_functor_class_pod::operator()() { return data; }
+void p_functor_class_pod::operator()(test_pod d) { data = d; }

Modified: sandbox/property/libs/property/test/test_functor_impl.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_impl.hpp (original)
+++ sandbox/property/libs/property/test/test_functor_impl.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -9,8 +9,16 @@
   
   public:
   
+ p_functor_class_char();
+ p_functor_class_char(char c);
+
   char operator()();
   void operator()(char);
+
+ private:
+
+ char data;
+
   };
 
 class p_functor_class_int
@@ -18,8 +26,16 @@
   
   public:
   
+ p_functor_class_int();
+ p_functor_class_int(int i);
+
   int operator()();
   void operator()(int);
+
+ private:
+
+ int data;
+
   };
 
 class p_functor_class_double
@@ -27,8 +43,16 @@
   
   public:
   
+ p_functor_class_double();
+ p_functor_class_double(double d);
+
   double operator()();
   void operator()(double);
+
+ private:
+
+ double data;
+
   };
 
 class p_functor_class_bool
@@ -36,8 +60,16 @@
   
   public:
   
+ p_functor_class_bool();
+ p_functor_class_bool(bool b);
+
   bool operator()();
   void operator()(bool);
+
+ private:
+
+ bool data;
+
   };
 
 class p_functor_class_pointer
@@ -45,8 +77,16 @@
   
   public:
   
+ p_functor_class_pointer();
+ p_functor_class_pointer(int * p);
+
   int * operator()();
   void operator()(int *);
+
+ private:
+
+ int * data;
+
   };
 
 class p_functor_class_enum
@@ -54,8 +94,16 @@
   
   public:
   
+ p_functor_class_enum();
+ p_functor_class_enum(test_enum e);
+
   test_enum operator()();
   void operator()(test_enum);
+
+ private:
+
+ test_enum data;
+
   };
 
 class p_functor_class_pod
@@ -63,8 +111,16 @@
   
   public:
   
+ p_functor_class_pod();
+ p_functor_class_pod(test_pod p);
+
   test_pod operator()();
   void operator()(test_pod);
+
+ private:
+
+ test_pod data;
+
   };
   
 #endif

Added: sandbox/property/libs/property/test/test_functor_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,62 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_functor_value.hpp"
+#include "test_global_data.hpp"
+
+prop_functor<char,p_functor_class_char> p_gl_char(pf_gl_char);
+prop_functor<int,p_functor_class_int> p_gl_int(pf_gl_int);
+prop_functor<double,p_functor_class_double> p_gl_double(pf_gl_double);
+prop_functor<bool,p_functor_class_bool,write_tag> p_gl_bool_write(pf_gl_bool);
+prop_functor<int *,p_functor_class_pointer> p_gl_pointer(pf_gl_pointer);
+prop_functor<test_enum,p_functor_class_enum,read_tag> p_gl_enum_const(pf_gl_enum);
+prop_functor<test_pod const,p_functor_class_pod> p_gl_pod_const(pf_gl_pod);
+
+p_functor_value_class::p_functor_value_class() :
+ p_char(pf_char),
+ p_int(pf_int),
+ p_double_const(pf_double),
+ p_bool_const(pf_bool),
+ p_pointer_const(pf_pointer),
+ p_enum(pf_enum),
+ p_pod_const(pf_pod),
+ pf_double(672.56),
+ pf_bool(true),
+ pf_pointer(&pvalue),
+ pf_pod(test_pod('&',9872,98.763,true))
+ {
+ }
+
+prop_functor<char,p_functor_class_char> p_functor_value_class::p_st_char(pf_st_char);
+prop_functor<int,p_functor_class_int,read_tag> p_functor_value_class::p_st_int_const(pf_st_int);
+prop_functor<double,p_functor_class_double> p_functor_value_class::p_st_double(pf_st_double);
+prop_functor<bool,p_functor_class_bool> p_functor_value_class::p_st_bool(pf_st_bool);
+prop_functor<int *,p_functor_class_pointer> p_functor_value_class::p_st_pointer(pf_st_pointer);
+prop_functor<test_enum,p_functor_class_enum,read_tag> p_functor_value_class::p_st_enum_const(pf_st_enum);
+prop_functor<test_pod,p_functor_class_pod,write_tag> p_functor_value_class::p_st_pod_write(pf_st_pod);
+int p_functor_value_class::pvalue(801);
+
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+p_functor_class_char pf_gl_char;
+p_functor_class_int pf_gl_int;
+p_functor_class_double pf_gl_double;
+p_functor_class_bool pf_gl_bool;
+p_functor_class_pointer pf_gl_pointer;
+p_functor_class_enum pf_gl_enum(e_test_second);
+p_functor_class_pod pf_gl_pod((test_pod('Z',455,2.34,true)));
+
+p_functor_class_char p_functor_value_class::pf_st_char;
+p_functor_class_int p_functor_value_class::pf_st_int(89);
+p_functor_class_double p_functor_value_class::pf_st_double;
+p_functor_class_bool p_functor_value_class::pf_st_bool;
+p_functor_class_pointer p_functor_value_class::pf_st_pointer;
+p_functor_class_enum p_functor_value_class::pf_st_enum(e_test_third);
+p_functor_class_pod p_functor_value_class::pf_st_pod;
+
+#include "test_global_data.cpp"
+#include "test_functor_impl.cpp"

Modified: sandbox/property/libs/property/test/test_functor_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value.hpp (original)
+++ sandbox/property/libs/property/test/test_functor_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -14,8 +14,16 @@
 extern prop_functor<bool,p_functor_class_bool,write_tag> p_gl_bool_write;
 extern prop_functor<int *,p_functor_class_pointer> p_gl_pointer;
 extern prop_functor<test_enum,p_functor_class_enum,read_tag> p_gl_enum_const;
-extern prop_functor<test_pod const,p_functor_class_pod> p_gl_class_const;
+extern prop_functor<test_pod const,p_functor_class_pod> p_gl_pod_const;
 
+extern p_functor_class_char pf_gl_char;
+extern p_functor_class_int pf_gl_int;
+extern p_functor_class_double pf_gl_double;
+extern p_functor_class_bool pf_gl_bool;
+extern p_functor_class_pointer pf_gl_pointer;
+extern p_functor_class_enum pf_gl_enum;
+extern p_functor_class_pod pf_gl_pod;
+
 class p_functor_value_class
   {
   
@@ -29,15 +37,35 @@
   prop_functor<bool const,p_functor_class_bool> p_bool_const;
   prop_functor<int *,p_functor_class_pointer,read_tag> p_pointer_const;
   prop_functor<test_enum,p_functor_class_enum> p_enum;
- prop_functor<test_pod,p_functor_class_pod,read_tag> p_class_const;
+ prop_functor<test_pod,p_functor_class_pod,read_tag> p_pod_const;
 
   static prop_functor<char,p_functor_class_char> p_st_char;
   static prop_functor<int,p_functor_class_int,read_tag> p_st_int_const;
   static prop_functor<double,p_functor_class_double> p_st_double;
   static prop_functor<bool,p_functor_class_bool> p_st_bool;
- static prop_functor<int * const,p_functor_class_pointer> p_st_pointer_const;
+ static prop_functor<int *,p_functor_class_pointer> p_st_pointer;
   static prop_functor<test_enum,p_functor_class_enum,read_tag> p_st_enum_const;
- static prop_functor<test_pod,p_functor_class_pod,write_tag> p_st_class_write;
+ static prop_functor<test_pod,p_functor_class_pod,write_tag> p_st_pod_write;
+
+ private:
+
+ p_functor_class_char pf_char;
+ p_functor_class_int pf_int;
+ p_functor_class_double pf_double;
+ p_functor_class_bool pf_bool;
+ p_functor_class_pointer pf_pointer;
+ p_functor_class_enum pf_enum;
+ p_functor_class_pod pf_pod;
+
+ static p_functor_class_char pf_st_char;
+ static p_functor_class_int pf_st_int;
+ static p_functor_class_double pf_st_double;
+ static p_functor_class_bool pf_st_bool;
+ static p_functor_class_pointer pf_st_pointer;
+ static p_functor_class_enum pf_st_enum;
+ static p_functor_class_pod pf_st_pod;
+
+ static int pvalue;
   
   };
   

Deleted: sandbox/property/libs/property/test/test_functor_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_functor_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_functor_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_functor_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_member_data_impl.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_impl.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,23 @@
+#include "test_member_data_impl.hpp"
+
+p_member_data_class::p_member_data_class() :
+ p_data_char(' '),
+ p_data_int(0),
+ p_data_double(0.0),
+ p_data_bool(false),
+ p_data_pointer(0),
+ p_data_enum(e_test_default),
+ p_char(' '),
+ p_int(0),
+ p_double(0.0),
+ p_bool(false),
+ p_pointer(0),
+ p_enum(e_test_default),
+ p_char_2(' '),
+ p_int_2(0),
+ p_double_2(0.0),
+ p_bool_2(false),
+ p_pointer_2(0),
+ p_enum_2(e_test_default)
+ {
+ }

Modified: sandbox/property/libs/property/test/test_member_data_impl.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_impl.hpp (original)
+++ sandbox/property/libs/property/test/test_member_data_impl.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -17,7 +17,7 @@
   bool p_data_bool;
   int * p_data_pointer;
   test_enum p_data_enum;
- test_pod p_data_class;
+ test_pod p_data_pod;
   
   char p_char;
   int p_int;
@@ -25,7 +25,7 @@
   bool p_bool;
   int * p_pointer;
   test_enum p_enum;
- test_pod p_class;
+ test_pod p_pod;
   
   char p_char_2;
   int p_int_2;
@@ -33,7 +33,7 @@
   bool p_bool_2;
   int * p_pointer_2;
   test_enum p_enum_2;
- test_pod p_class_2;
+ test_pod p_pod_2;
   
   };
   

Added: sandbox/property/libs/property/test/test_member_data_predicate.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_predicate.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,43 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/lambda/lambda.hpp>
+#include "test_member_data_predicate.hpp"
+
+using namespace boost::lambda;
+
+prop_member_data_predicate<char,p_member_data_class,&p_member_data_class::p_data_char,notification_boost_function,predicate_failure_runtime_exception> p_gl_char_pred_ntf_err(_1 != 'K',pmd_gl_char);
+prop_member_data_predicate<int,p_member_data_class,&p_member_data_class::p_int_2,notification_boost_function> p_gl_int_pred_ntf(_1 > 457,pmd_gl_int);
+prop_member_data_predicate<double,p_member_data_class,&p_member_data_class::p_data_double,default_policy_tag,predicate_failure_runtime_exception> p_gl_double_pred_err(_1 >= 3.0 && _1 < 7.0,pmd_gl_double);
+prop_member_data_predicate<test_enum,p_member_data_class,&p_member_data_class::p_data_enum> p_gl_enum_pred(_1 != e_test_first,pmd_gl_enum);
+
+p_member_data_predicate_class::p_member_data_predicate_class() :
+ p_char_pred_ntf_err(_1 == 'a' || _1 == 'b' || _1 == 'c',pmd_char),
+ p_int_pred(_1 > 20,pmd_int),
+ p_double_pred_ntf_err(_1 < 345.6,pmd_double),
+ p_enum_pred_err(_1 != e_test_third,pmd_enum)
+ {
+ }
+
+prop_member_data_predicate<char,p_member_data_class,&p_member_data_class::p_char> p_member_data_predicate_class::p_st_char_pred(_1 != 'W',pmd_st_char);
+prop_member_data_predicate<int,p_member_data_class,&p_member_data_class::p_data_int,notification_boost_function,predicate_failure_runtime_exception> p_member_data_predicate_class::p_st_int_pred_ntf_err(_1 >= 40000,pmd_st_int);
+prop_member_data_predicate<double,p_member_data_class,&p_member_data_class::p_double_2,default_policy_tag,predicate_failure_runtime_exception> p_member_data_predicate_class::p_st_double_pred_err(_1 <= 5.0,pmd_st_double);
+prop_member_data_predicate<test_enum,p_member_data_class,&p_member_data_class::p_enum_2,notification_boost_function> p_member_data_predicate_class::p_st_enum_pred_ntf(_1 != e_test_second,pmd_st_enum);
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+p_member_data_class pmd_gl_char;
+p_member_data_class pmd_gl_int;
+p_member_data_class pmd_gl_double;
+p_member_data_class pmd_gl_enum;
+
+p_member_data_class p_member_data_predicate_class::pmd_st_char;
+p_member_data_class p_member_data_predicate_class::pmd_st_int;
+p_member_data_class p_member_data_predicate_class::pmd_st_double;
+p_member_data_class p_member_data_predicate_class::pmd_st_enum;
+
+#include "test_global_data.cpp"
+#include "test_member_data_impl.cpp"

Modified: sandbox/property/libs/property/test/test_member_data_predicate.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_predicate.hpp (original)
+++ sandbox/property/libs/property/test/test_member_data_predicate.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -14,6 +14,11 @@
 extern prop_member_data_predicate<double,p_member_data_class,&p_member_data_class::p_data_double,default_policy_tag,predicate_failure_runtime_exception> p_gl_double_pred_err;
 extern prop_member_data_predicate<test_enum,p_member_data_class,&p_member_data_class::p_data_enum> p_gl_enum_pred;
 
+extern p_member_data_class pmd_gl_char;
+extern p_member_data_class pmd_gl_int;
+extern p_member_data_class pmd_gl_double;
+extern p_member_data_class pmd_gl_enum;
+
 class p_member_data_predicate_class
   {
   
@@ -26,11 +31,21 @@
   prop_member_data_predicate<double,p_member_data_class,&p_member_data_class::p_double,notification_boost_function,predicate_failure_runtime_exception> p_double_pred_ntf_err;
   prop_member_data_predicate<test_enum,p_member_data_class,&p_member_data_class::p_enum,default_policy_tag,predicate_failure_runtime_exception> p_enum_pred_err;
   
+ p_member_data_class pmd_char;
+ p_member_data_class pmd_int;
+ p_member_data_class pmd_double;
+ p_member_data_class pmd_enum;
+
   static prop_member_data_predicate<char,p_member_data_class,&p_member_data_class::p_char> p_st_char_pred;
   static prop_member_data_predicate<int,p_member_data_class,&p_member_data_class::p_data_int,notification_boost_function,predicate_failure_runtime_exception> p_st_int_pred_ntf_err;
   static prop_member_data_predicate<double,p_member_data_class,&p_member_data_class::p_double_2,default_policy_tag,predicate_failure_runtime_exception> p_st_double_pred_err;
   static prop_member_data_predicate<test_enum,p_member_data_class,&p_member_data_class::p_enum_2,notification_boost_function> p_st_enum_pred_ntf;
   
+ static p_member_data_class pmd_st_char;
+ static p_member_data_class pmd_st_int;
+ static p_member_data_class pmd_st_double;
+ static p_member_data_class pmd_st_enum;
+
   };
   
 #endif

Deleted: sandbox/property/libs/property/test/test_member_data_predicate_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_predicate_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_predicate.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_member_data_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,55 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_member_data_value.hpp"
+
+prop_member_data<char const,p_member_data_class,&p_member_data_class::p_data_char> p_gl_char_const(pmd_gl_char);
+prop_member_data<int,p_member_data_class,&p_member_data_class::p_data_int> p_gl_int(pmd_gl_int);
+prop_member_data<double const,p_member_data_class,&p_member_data_class::p_double_2> p_gl_double_const(pmd_gl_double);
+prop_member_data<bool,p_member_data_class,&p_member_data_class::p_bool,default_policy_tag,read_tag> p_gl_bool(pmd_gl_bool);
+prop_member_data<int *,p_member_data_class,&p_member_data_class::p_data_pointer,notification_boost_function> p_gl_pointer_ntf(pmd_gl_pointer);
+prop_member_data<test_enum,p_member_data_class,&p_member_data_class::p_data_enum> p_gl_enum(pmd_gl_enum);
+prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_data_pod,notification_boost_function> p_gl_pod_ntf(pmd_gl_pod);
+
+p_member_data_value_class::p_member_data_value_class() :
+ p_char(pmd_char),
+ p_int(pmd_int),
+ p_double_ntf(pmd_double),
+ p_bool(pmd_bool),
+ p_pointer(pmd_pointer),
+ p_enum_ntf(pmd_enum),
+ p_pod_const(pmd_pod)
+ {
+ }
+
+prop_member_data<char,p_member_data_class,&p_member_data_class::p_char> p_member_data_value_class::p_st_char(pmd_st_char);
+prop_member_data<int,p_member_data_class,&p_member_data_class::p_int> p_member_data_value_class::p_st_int(pmd_st_int);
+prop_member_data<double const,p_member_data_class,&p_member_data_class::p_data_double> p_member_data_value_class::p_st_double_const(pmd_st_double);
+prop_member_data<bool,p_member_data_class,&p_member_data_class::p_data_bool> p_member_data_value_class::p_st_bool(pmd_st_bool);
+prop_member_data<int *,p_member_data_class,&p_member_data_class::p_pointer_2> p_member_data_value_class::p_st_pointer(pmd_st_pointer);
+prop_member_data<test_enum,p_member_data_class,&p_member_data_class::p_enum,default_policy_tag,read_tag> p_member_data_value_class::p_st_enum_const(pmd_st_enum);
+prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_pod> p_member_data_value_class::p_st_pod(pmd_st_pod);
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+p_member_data_class pmd_gl_char;
+p_member_data_class pmd_gl_int;
+p_member_data_class pmd_gl_double;
+p_member_data_class pmd_gl_bool;
+p_member_data_class pmd_gl_pointer;
+p_member_data_class pmd_gl_enum;
+p_member_data_class pmd_gl_pod;
+
+p_member_data_class p_member_data_value_class::pmd_st_char;
+p_member_data_class p_member_data_value_class::pmd_st_int;
+p_member_data_class p_member_data_value_class::pmd_st_double;
+p_member_data_class p_member_data_value_class::pmd_st_bool;
+p_member_data_class p_member_data_value_class::pmd_st_pointer;
+p_member_data_class p_member_data_value_class::pmd_st_enum;
+p_member_data_class p_member_data_value_class::pmd_st_pod;
+
+#include "test_global_data.cpp"
+#include "test_member_data_impl.cpp"

Modified: sandbox/property/libs/property/test/test_member_data_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value.hpp (original)
+++ sandbox/property/libs/property/test/test_member_data_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -15,7 +15,15 @@
 extern prop_member_data<bool,p_member_data_class,&p_member_data_class::p_bool,default_policy_tag,read_tag> p_gl_bool;
 extern prop_member_data<int *,p_member_data_class,&p_member_data_class::p_data_pointer,notification_boost_function> p_gl_pointer_ntf;
 extern prop_member_data<test_enum,p_member_data_class,&p_member_data_class::p_data_enum> p_gl_enum;
-extern prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_data_class,notification_boost_function> p_gl_class_ntf;
+extern prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_data_pod,notification_boost_function> p_gl_pod_ntf;
+
+extern p_member_data_class pmd_gl_char;
+extern p_member_data_class pmd_gl_int;
+extern p_member_data_class pmd_gl_double;
+extern p_member_data_class pmd_gl_bool;
+extern p_member_data_class pmd_gl_pointer;
+extern p_member_data_class pmd_gl_enum;
+extern p_member_data_class pmd_gl_pod;
 
 class p_member_data_value_class
   {
@@ -30,7 +38,7 @@
   prop_member_data<bool,p_member_data_class,&p_member_data_class::p_bool_2> p_bool;
   prop_member_data<int *,p_member_data_class,&p_member_data_class::p_pointer> p_pointer;
   prop_member_data<test_enum,p_member_data_class,&p_member_data_class::p_enum_2,notification_boost_function> p_enum_ntf;
- prop_member_data<test_pod const,p_member_data_class,&p_member_data_class::p_class_2> p_class_const;
+ prop_member_data<test_pod const,p_member_data_class,&p_member_data_class::p_pod_2> p_pod_const;
   
   static prop_member_data<char,p_member_data_class,&p_member_data_class::p_char> p_st_char;
   static prop_member_data<int,p_member_data_class,&p_member_data_class::p_int> p_st_int;
@@ -38,7 +46,26 @@
   static prop_member_data<bool,p_member_data_class,&p_member_data_class::p_data_bool> p_st_bool;
   static prop_member_data<int *,p_member_data_class,&p_member_data_class::p_pointer_2> p_st_pointer;
   static prop_member_data<test_enum,p_member_data_class,&p_member_data_class::p_enum,default_policy_tag,read_tag> p_st_enum_const;
- static prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_class> p_st_class;
+ static prop_member_data<test_pod,p_member_data_class,&p_member_data_class::p_pod> p_st_pod;
+
+ private:
+
+ p_member_data_class pmd_char;
+ p_member_data_class pmd_int;
+ p_member_data_class pmd_double;
+ p_member_data_class pmd_bool;
+ p_member_data_class pmd_pointer;
+ p_member_data_class pmd_enum;
+ p_member_data_class pmd_pod;
+
+ static p_member_data_class pmd_st_char;
+ static p_member_data_class pmd_st_int;
+ static p_member_data_class pmd_st_double;
+ static p_member_data_class pmd_st_bool;
+ static p_member_data_class pmd_st_pointer;
+ static p_member_data_class pmd_st_enum;
+ static p_member_data_class pmd_st_pod;
+
   };
   
 #endif

Deleted: sandbox/property/libs/property/test/test_member_data_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_data_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Added: sandbox/property/libs/property/test/test_member_function_impl.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_impl.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,233 @@
+#include "test_member_function_impl.hpp"
+
+p_member_function_impl_class::p_member_function_impl_class() :
+ st_char(' '),
+ st_int(0),
+ st_double(0.0),
+ st_bool(false),
+ st_pointer(0),
+ st_enum(e_test_default),
+ st_char_2(' '),
+ st_int_2(0),
+ st_double_2(0.0),
+ st_bool_2(false),
+ st_pointer_2(0),
+ st_enum_2(e_test_default),
+ st_char_3(' '),
+ st_int_3(0),
+ st_double_3(0.0),
+ st_bool_3(false),
+ st_pointer_3(0),
+ st_enum_3(e_test_default)
+ {
+ }
+
+char p_member_function_impl_class::p_function_char_read()
+ {
+ return st_char;
+ }
+
+void p_member_function_impl_class::p_function_char_write(char data)
+ {
+ st_char = data;
+ }
+
+int p_member_function_impl_class::p_function_int_read()
+ {
+ return st_int;
+ }
+
+void p_member_function_impl_class::p_function_int_write(int data)
+ {
+ st_int = data;
+ }
+
+double p_member_function_impl_class::p_function_double_read()
+ {
+ return st_double;
+ }
+
+void p_member_function_impl_class::p_function_double_write(double data)
+ {
+ st_double = data;
+ }
+
+bool p_member_function_impl_class::p_function_bool_read()
+ {
+ return st_bool;
+ }
+
+void p_member_function_impl_class::p_function_bool_write(bool data)
+ {
+ st_bool = data;
+ }
+
+int * p_member_function_impl_class::p_function_pointer_read()
+ {
+ return st_pointer;
+ }
+
+void p_member_function_impl_class::p_function_pointer_write(int * data)
+ {
+ st_pointer = data;
+ }
+
+test_enum p_member_function_impl_class::p_function_enum_read()
+ {
+ return st_enum;
+ }
+
+void p_member_function_impl_class::p_function_enum_write(test_enum data)
+ {
+ st_enum = data;
+ }
+
+test_pod p_member_function_impl_class::p_function_pod_read()
+ {
+ return st_pod;
+ }
+
+void p_member_function_impl_class::p_function_pod_write(test_pod data)
+ {
+ st_pod = data;
+ }
+
+char p_member_function_impl_class::p_char_read()
+ {
+ return st_char_3;
+ }
+
+void p_member_function_impl_class::p_char_write(char data)
+ {
+ st_char_3 = data;
+ }
+
+int p_member_function_impl_class::p_int_read()
+ {
+ return st_int_3;
+ }
+
+void p_member_function_impl_class::p_int_write(int data)
+ {
+ st_int_3 = data;
+ }
+
+double p_member_function_impl_class::p_double_read()
+ {
+ return st_double_3;
+ }
+
+void p_member_function_impl_class::p_double_write(double data)
+ {
+ st_double_3 = data;
+ }
+
+bool p_member_function_impl_class::p_bool_read()
+ {
+ return st_bool_3;
+ }
+
+void p_member_function_impl_class::p_bool_write(bool data)
+ {
+ st_bool_3 = data;
+ }
+
+int * p_member_function_impl_class::p_pointer_read()
+ {
+ return st_pointer_3;
+ }
+
+void p_member_function_impl_class::p_pointer_write(int * data)
+ {
+ st_pointer_3 = data;
+ }
+
+test_enum p_member_function_impl_class::p_enum_read()
+ {
+ return st_enum_3;
+ }
+
+void p_member_function_impl_class::p_enum_write(test_enum data)
+ {
+ st_enum_3 = data;
+ }
+
+test_pod p_member_function_impl_class::p_pod_read()
+ {
+ return st_pod_3;
+ }
+
+void p_member_function_impl_class::p_pod_write(test_pod data)
+ {
+ st_pod_3 = data;
+ }
+
+char p_member_function_impl_class::p_char_read_2()
+ {
+ return st_char_2;
+ }
+
+void p_member_function_impl_class::p_char_write_2(char data)
+ {
+ st_char_2 = data;
+ }
+
+int p_member_function_impl_class::p_int_read_2()
+ {
+ return st_int_2;
+ }
+
+void p_member_function_impl_class::p_int_write_2(int data)
+ {
+ st_int_2 = data;
+ }
+
+double p_member_function_impl_class::p_double_read_2()
+ {
+ return st_double_2;
+ }
+
+void p_member_function_impl_class::p_double_write_2(double data)
+ {
+ st_double_2 = data;
+ }
+
+bool p_member_function_impl_class::p_bool_read_2()
+ {
+ return st_bool_2;
+ }
+
+void p_member_function_impl_class::p_bool_write_2(bool data)
+ {
+ st_bool_2 = data;
+ }
+
+int * p_member_function_impl_class::p_pointer_read_2()
+ {
+ return st_pointer_2;
+ }
+
+void p_member_function_impl_class::p_pointer_write_2(int * data)
+ {
+ st_pointer_2 = data;
+ }
+
+test_enum p_member_function_impl_class::p_enum_read_2()
+ {
+ return st_enum_2;
+ }
+
+void p_member_function_impl_class::p_enum_write_2(test_enum data)
+ {
+ st_enum_2 = data;
+ }
+
+test_pod p_member_function_impl_class::p_pod_read_2()
+ {
+ return st_pod_2;
+ }
+
+void p_member_function_impl_class::p_pod_write_2(test_pod data)
+ {
+ st_pod_2 = data;
+ }

Modified: sandbox/property/libs/property/test/test_member_function_impl.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_impl.hpp (original)
+++ sandbox/property/libs/property/test/test_member_function_impl.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -23,8 +23,8 @@
   void p_function_pointer_write(int *);
   test_enum p_function_enum_read();
   void p_function_enum_write(test_enum);
- test_pod p_function_class_read();
- void p_function_class_write(test_pod);
+ test_pod p_function_pod_read();
+ void p_function_pod_write(test_pod);
 
   char p_char_read();
   void p_char_write(char);
@@ -38,8 +38,8 @@
   void p_pointer_write(int *);
   test_enum p_enum_read();
   void p_enum_write(test_enum);
- test_pod p_class_read();
- void p_class_write(test_pod);
+ test_pod p_pod_read();
+ void p_pod_write(test_pod);
   
   char p_char_read_2();
   void p_char_write_2(char);
@@ -53,8 +53,8 @@
   void p_pointer_write_2(int *);
   test_enum p_enum_read_2();
   void p_enum_write_2(test_enum);
- test_pod p_class_read_2();
- void p_class_write_2(test_pod);
+ test_pod p_pod_read_2();
+ void p_pod_write_2(test_pod);
   
   char st_char;
   int st_int;

Added: sandbox/property/libs/property/test/test_member_function_value.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -0,0 +1,56 @@
+#include <boost/detail/lightweight_test.hpp>
+#include "test_member_function_value.hpp"
+#include "test_global_data.hpp"
+
+prop_member_function<char,p_member_function_impl_class,&p_member_function_impl_class::p_char_read,&p_member_function_impl_class::p_char_write> p_gl_char(pmf_gl_char);
+prop_member_function<int,p_member_function_impl_class,&p_member_function_impl_class::p_int_read_2,&p_member_function_impl_class::p_int_write_2> p_gl_int(pmf_gl_int);
+prop_read_member_function<double,p_member_function_impl_class,&p_member_function_impl_class::p_function_double_read> p_gl_double_const(pmf_gl_double);
+prop_write_member_function<bool,p_member_function_impl_class,&p_member_function_impl_class::p_function_bool_write> p_gl_bool_write(pmf_gl_bool);
+prop_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_function_pointer_read,&p_member_function_impl_class::p_function_pointer_write> p_gl_pointer(pmf_gl_pointer);
+prop_read_member_function<test_enum,p_member_function_impl_class,&p_member_function_impl_class::p_enum_read> p_gl_enum_const(pmf_gl_enum);
+prop_read_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_pod_read_2> p_gl_pod_const(pmf_gl_pod);
+
+p_member_function_value_class::p_member_function_value_class() :
+ p_char(pmf_char),
+ p_int_const(pmf_int),
+ p_double(pmf_double),
+ p_bool_const(pmf_bool),
+ p_pointer_const(pmf_pointer),
+ p_enum(pmf_enum),
+ p_pod_const(pmf_pod)
+ {
+ }
+
+prop_write_member_function<char,p_member_function_impl_class,&p_member_function_impl_class::p_char_write_2> p_member_function_value_class::p_st_char(pmf_st_char);
+prop_member_function<int,p_member_function_impl_class,&p_member_function_impl_class::p_function_int_read,&p_member_function_impl_class::p_function_int_write> p_member_function_value_class::p_st_int(pmf_st_int);
+prop_member_function<double,p_member_function_impl_class,&p_member_function_impl_class::p_double_read_2,&p_member_function_impl_class::p_double_write_2> p_member_function_value_class::p_st_double(pmf_st_double);
+prop_member_function<bool,p_member_function_impl_class,&p_member_function_impl_class::p_bool_read_2,&p_member_function_impl_class::p_bool_write_2> p_member_function_value_class::p_st_bool(pmf_st_bool);
+prop_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_pointer_read_2,&p_member_function_impl_class::p_pointer_write_2> p_member_function_value_class::p_st_pointer(pmf_st_pointer);
+prop_read_member_function<test_enum,p_member_function_impl_class,&p_member_function_impl_class::p_function_enum_read> p_member_function_value_class::p_st_enum_const(pmf_st_enum);
+prop_write_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_pod_write> p_member_function_value_class::p_st_pod_write(pmf_st_pod);
+
+int main()
+ {
+
+ return boost::report_errors();
+
+ }
+
+p_member_function_impl_class pmf_gl_char;
+p_member_function_impl_class pmf_gl_int;
+p_member_function_impl_class pmf_gl_double;
+p_member_function_impl_class pmf_gl_bool;
+p_member_function_impl_class pmf_gl_pointer;
+p_member_function_impl_class pmf_gl_enum;
+p_member_function_impl_class pmf_gl_pod;
+
+p_member_function_impl_class p_member_function_value_class::pmf_st_char;
+p_member_function_impl_class p_member_function_value_class::pmf_st_int;
+p_member_function_impl_class p_member_function_value_class::pmf_st_double;
+p_member_function_impl_class p_member_function_value_class::pmf_st_bool;
+p_member_function_impl_class p_member_function_value_class::pmf_st_pointer;
+p_member_function_impl_class p_member_function_value_class::pmf_st_enum;
+p_member_function_impl_class p_member_function_value_class::pmf_st_pod;
+
+#include "test_global_data.cpp"
+#include "test_member_function_impl.cpp"

Modified: sandbox/property/libs/property/test/test_member_function_value.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value.hpp (original)
+++ sandbox/property/libs/property/test/test_member_function_value.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -14,7 +14,15 @@
 extern prop_write_member_function<bool,p_member_function_impl_class,&p_member_function_impl_class::p_function_bool_write> p_gl_bool_write;
 extern prop_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_function_pointer_read,&p_member_function_impl_class::p_function_pointer_write> p_gl_pointer;
 extern prop_read_member_function<test_enum,p_member_function_impl_class,&p_member_function_impl_class::p_enum_read> p_gl_enum_const;
-extern prop_read_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_class_read_2> p_gl_class_const;
+extern prop_read_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_pod_read_2> p_gl_pod_const;
+
+extern p_member_function_impl_class pmf_gl_char;
+extern p_member_function_impl_class pmf_gl_int;
+extern p_member_function_impl_class pmf_gl_double;
+extern p_member_function_impl_class pmf_gl_bool;
+extern p_member_function_impl_class pmf_gl_pointer;
+extern p_member_function_impl_class pmf_gl_enum;
+extern p_member_function_impl_class pmf_gl_pod;
 
 class p_member_function_value_class
   {
@@ -29,16 +37,34 @@
   prop_read_member_function<bool,p_member_function_impl_class,&p_member_function_impl_class::p_bool_read> p_bool_const;
   prop_read_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_pointer_read> p_pointer_const;
   prop_member_function<test_enum,p_member_function_impl_class,&p_member_function_impl_class::p_enum_read_2,&p_member_function_impl_class::p_enum_write_2> p_enum;
- prop_read_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_function_class_read> p_class_const;
+ prop_read_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_function_pod_read> p_pod_const;
 
   static prop_write_member_function<char,p_member_function_impl_class,&p_member_function_impl_class::p_char_write_2> p_st_char;
   static prop_member_function<int,p_member_function_impl_class,&p_member_function_impl_class::p_function_int_read,&p_member_function_impl_class::p_function_int_write> p_st_int;
   static prop_member_function<double,p_member_function_impl_class,&p_member_function_impl_class::p_double_read_2,&p_member_function_impl_class::p_double_write_2> p_st_double;
   static prop_member_function<bool,p_member_function_impl_class,&p_member_function_impl_class::p_bool_read_2,&p_member_function_impl_class::p_bool_write_2> p_st_bool;
- static prop_read_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_pointer_read_2> p_st_pointer_const;
+ static prop_member_function<int *,p_member_function_impl_class,&p_member_function_impl_class::p_pointer_read_2,&p_member_function_impl_class::p_pointer_write_2> p_st_pointer;
   static prop_read_member_function<test_enum,p_member_function_impl_class,&p_member_function_impl_class::p_function_enum_read> p_st_enum_const;
- static prop_write_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_class_write> p_st_class_write;
+ static prop_write_member_function<test_pod,p_member_function_impl_class,&p_member_function_impl_class::p_pod_write> p_st_pod_write;
+
+ private:
   
+ p_member_function_impl_class pmf_char;
+ p_member_function_impl_class pmf_int;
+ p_member_function_impl_class pmf_double;
+ p_member_function_impl_class pmf_bool;
+ p_member_function_impl_class pmf_pointer;
+ p_member_function_impl_class pmf_enum;
+ p_member_function_impl_class pmf_pod;
+
+ static p_member_function_impl_class pmf_st_char;
+ static p_member_function_impl_class pmf_st_int;
+ static p_member_function_impl_class pmf_st_double;
+ static p_member_function_impl_class pmf_st_bool;
+ static p_member_function_impl_class pmf_st_pointer;
+ static p_member_function_impl_class pmf_st_enum;
+ static p_member_function_impl_class pmf_st_pod;
+
   };
   
 #endif

Deleted: sandbox/property/libs/property/test/test_member_function_value_bool.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_bool.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_character.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_character.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_enum.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_enum.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_integer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_integer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_pointer.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_pointer.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Deleted: sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp
==============================================================================
--- sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
+++ (empty file)
@@ -1,9 +0,0 @@
-#include <boost/detail/lightweight_test.hpp>
-#include "test_member_function_value.hpp"
-
-int main()
- {
-
- return boost::report_errors();
-
- }

Modified: sandbox/property/libs/property/test/test_pod.hpp
==============================================================================
--- sandbox/property/libs/property/test/test_pod.hpp (original)
+++ sandbox/property/libs/property/test/test_pod.hpp 2011-05-25 10:49:31 EDT (Wed, 25 May 2011)
@@ -3,6 +3,7 @@
 
 struct test_pod
   {
+
   test_pod() :
     a_char(' '),
     an_int(0),
@@ -10,6 +11,14 @@
     a_bool(false)
     {
     }
+
+ test_pod(char c,int i,double d,bool b) :
+ a_char(c),
+ an_int(i),
+ a_double(d),
+ a_bool(b)
+ {
+ }
   
   char a_char;
   int an_int;


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