$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r71653 - in sandbox/property: boost/property boost/property/detail libs/property/test
From: eldiener_at_[hidden]
Date: 2011-05-01 18:04:40
Author: eldiener
Date: 2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
New Revision: 71653
URL: http://svn.boost.org/trac/boost/changeset/71653
Log:
Boost names and testing framework.
Added:
   sandbox/property/boost/property/detail/property_index_map_detail.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/detail/PropertyIndexMapDetail.h
   sandbox/property/boost/property/property_all.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyAll.hpp
   sandbox/property/boost/property/property_auto.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyAuto.hpp
   sandbox/property/boost/property/property_auto_predicate.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyAutoPredicate.hpp
   sandbox/property/boost/property/property_auto_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyAutoReference.hpp
   sandbox/property/boost/property/property_auto_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyAutoValue.hpp
   sandbox/property/boost/property/property_callable.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyCallable.hpp
   sandbox/property/boost/property/property_callable_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyCallableReference.hpp
   sandbox/property/boost/property/property_callable_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyCallableValue.hpp
   sandbox/property/boost/property/property_data.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyData.hpp
   sandbox/property/boost/property/property_data_predicate.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyDataPredicate.hpp
   sandbox/property/boost/property/property_data_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyDataReference.hpp
   sandbox/property/boost/property/property_data_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyDataValue.hpp
   sandbox/property/boost/property/property_exception.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyException.hpp
   sandbox/property/boost/property/property_function.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyFunction.hpp
   sandbox/property/boost/property/property_function_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyFunctionReference.hpp
   sandbox/property/boost/property/property_function_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyFunctionValue.hpp
   sandbox/property/boost/property/property_functor.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyFunctor.hpp
   sandbox/property/boost/property/property_functor_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyFunctorReference.hpp
   sandbox/property/boost/property/property_functor_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyFunctorValue.hpp
   sandbox/property/boost/property/property_index_interface.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyIndexInterface.hpp
   sandbox/property/boost/property/property_index_map.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyIndexMap.hpp
   sandbox/property/boost/property/property_interface.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyInterface.hpp
   sandbox/property/boost/property/property_member_data.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyMemberData.hpp
   sandbox/property/boost/property/property_member_data_predicate.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyMemberDataPredicate.hpp
   sandbox/property/boost/property/property_member_data_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyMemberDataReference.hpp
   sandbox/property/boost/property/property_member_data_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyMemberDataValue.hpp
   sandbox/property/boost/property/property_member_function.hpp
      - copied unchanged from r71572, /sandbox/property/boost/property/PropertyMemberFunction.hpp
   sandbox/property/boost/property/property_member_function_reference.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyMemberFunctionReference.hpp
   sandbox/property/boost/property/property_member_function_value.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyMemberFunctionValue.hpp
   sandbox/property/boost/property/property_notification_boost_signal.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyNotificationBoostSignal.hpp
   sandbox/property/boost/property/property_operators.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyOperators.hpp
   sandbox/property/boost/property/property_operators_detail.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyOperatorsDetail.hpp
   sandbox/property/boost/property/property_operators_enabling.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyOperatorsEnabling.hpp
   sandbox/property/boost/property/property_predicate_failure_runtime_exception.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyPredicateFailureRuntimeException.hpp
   sandbox/property/boost/property/property_reference_interface.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyReferenceInterface.hpp
   sandbox/property/boost/property/property_tag.hpp
      - copied unchanged from r71608, /sandbox/property/boost/property/PropertyTag.hpp
   sandbox/property/libs/property/test/test_auto_predicate_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_predicate_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_predicate_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_auto_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_callable_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_predicate_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_predicate_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_predicate_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_data_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_function_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_functor_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_predicate_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_reference.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_bool.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_character.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_enum.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_integer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_pointer.cpp   (contents, props changed)
   sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp   (contents, props changed)
Removed:
   sandbox/property/boost/property/PropertyAll.hpp
   sandbox/property/boost/property/PropertyAuto.hpp
   sandbox/property/boost/property/PropertyAutoPredicate.hpp
   sandbox/property/boost/property/PropertyAutoReference.hpp
   sandbox/property/boost/property/PropertyAutoValue.hpp
   sandbox/property/boost/property/PropertyBase.hpp
   sandbox/property/boost/property/PropertyBasic.hpp
   sandbox/property/boost/property/PropertyCallable.hpp
   sandbox/property/boost/property/PropertyCallableReference.hpp
   sandbox/property/boost/property/PropertyCallableValue.hpp
   sandbox/property/boost/property/PropertyClass.hpp
   sandbox/property/boost/property/PropertyData.hpp
   sandbox/property/boost/property/PropertyDataPredicate.hpp
   sandbox/property/boost/property/PropertyDataReference.hpp
   sandbox/property/boost/property/PropertyDataValue.hpp
   sandbox/property/boost/property/PropertyException.hpp
   sandbox/property/boost/property/PropertyFunction.hpp
   sandbox/property/boost/property/PropertyFunctionReference.hpp
   sandbox/property/boost/property/PropertyFunctionValue.hpp
   sandbox/property/boost/property/PropertyFunctor.hpp
   sandbox/property/boost/property/PropertyFunctorReference.hpp
   sandbox/property/boost/property/PropertyFunctorValue.hpp
   sandbox/property/boost/property/PropertyIndexInterface.hpp
   sandbox/property/boost/property/PropertyIndexMap.hpp
   sandbox/property/boost/property/PropertyInterface.hpp
   sandbox/property/boost/property/PropertyMemberData.hpp
   sandbox/property/boost/property/PropertyMemberDataPredicate.hpp
   sandbox/property/boost/property/PropertyMemberDataReference.hpp
   sandbox/property/boost/property/PropertyMemberDataValue.hpp
   sandbox/property/boost/property/PropertyMemberFunction.hpp
   sandbox/property/boost/property/PropertyMemberFunctionReference.hpp
   sandbox/property/boost/property/PropertyMemberFunctionValue.hpp
   sandbox/property/boost/property/PropertyMixin.hpp
   sandbox/property/boost/property/PropertyNotificationBoostSignal.hpp
   sandbox/property/boost/property/PropertyOperators.hpp
   sandbox/property/boost/property/PropertyOperatorsDetail.hpp
   sandbox/property/boost/property/PropertyOperatorsEnabling.hpp
   sandbox/property/boost/property/PropertyPredicateFailureRuntimeException.hpp
   sandbox/property/boost/property/PropertyReferenceInterface.hpp
   sandbox/property/boost/property/PropertyTag.hpp
   sandbox/property/boost/property/detail/PropertyIndexMapDetail.h
Deleted: sandbox/property/boost/property/PropertyAll.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyAll.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,13 +0,0 @@
-#if !defined(PROPERTY_ALL_HPP)
-#define PROPERTY_ALL_HPP
-
-#include "PropertyAuto.h"
-#include "PropertyCallable.h"
-#include "PropertyData.h"
-#include "PropertyFunction.h"
-#include "PropertyFunctor.h"
-#include "PropertyIndexMap.h"
-#include "PropertyMemberData.h"
-#include "PropertyMemberFunction.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyAuto.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyAuto.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,8 +0,0 @@
-#if !defined(PROPERTY_AUTO_HPP)
-#define PROPERTY_AUTO_HPP
-
-#include "PropertyAutoValue.h"
-#include "PropertyAutoPredicate.h"
-#include "PropertyAutoReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyAutoPredicate.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyAutoPredicate.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,586 +0,0 @@
-#if !defined(PROPERTY_AUTO_PREDICATE_HPP)
-#define PROPERTY_AUTO_PREDICATE_HPP
-
-#include "PropertyTag.h"
-#include "PropertyAutoValue.h"
-#include "PropertyOperators.h"
-#include <boost/function.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-  
-  template <class T, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            template <class> class PredicateFailurePolicy = default_policy_tag
-           >
-  struct prop_auto_predicate: 
-    prop_auto<T,NotificationPolicy>,
-    PredicateFailurePolicy<T>
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_const<T>));
-    
-    explicit prop_auto_predicate(boost::function<bool (T)> f) : 
-      fs(f) 
-      { 
-      }
-      
-    prop_auto_predicate(const prop_auto_predicate & arg) : 
-      prop_auto<T,NotificationPolicy>(static_cast<const prop_auto<T,NotificationPolicy> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_auto_predicate(boost::function<bool (T)> f,T arg) : 
-      prop_auto<T,NotificationPolicy>(init(f,arg)),
-      fs(f)
-      { 
-      }
-      
-    template<class U>
-    prop_auto_predicate(boost::function<bool (T)> f,U arg) : 
-      prop_auto<T,NotificationPolicy>(init(f,arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_auto_predicate & operator = (const prop_auto_predicate & arg) 
-      {
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = static_cast<const prop_auto<T,NotificationPolicy> &>(arg); 
-      return(*this); 
-      }
-      
-    prop_auto_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = arg; 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_auto_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = arg; 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_auto<T,NotificationPolicy>::set(arg);
-        }
-      else
-        {
-      
-        T t(*this);
-      
-        PredicateFailure(*this,fs,boost::optional<T>(t),arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-    
-    bool valid(boost::function<bool (T)> f,T arg) const
-      {
-      return(!f || f(arg));
-      }
-    
-    template<class U>
-    bool valid(boost::function<bool (T)> f,U arg) const
-      {
-      return(!f || f(static_cast<T>(arg)));
-      }
-      
-    T init(boost::function<bool (T)> f,T arg) const
-      {
-      if (valid(f,arg))
-        {
-        return arg;
-        }
-      else  
-        {
-        
-        boost::initialized<T> d;
-    
-        return(boost::get(d)); 
-        }
-      }
-    
-    template<class U>
-    U init(boost::function<bool (T)> f,U arg) const
-      {
-      if (valid(f,arg))
-        {
-        return arg;
-        }
-      else  
-        {
-        
-        boost::initialized<U> d;
-    
-        return(boost::get(d));
-        }
-      }
-      
-  };
-  
-  template <class T, 
-            template <class> class NotificationPolicy
-           >
-  struct prop_auto_predicate<T,NotificationPolicy,default_policy_tag> : 
-    prop_auto<T,NotificationPolicy>
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_const<T>));
-    
-    explicit prop_auto_predicate(boost::function<bool (T)> f) : 
-      fs(f) 
-      { 
-      }
-      
-    prop_auto_predicate(const prop_auto_predicate & arg) : 
-      prop_auto<T,NotificationPolicy>(static_cast<const prop_auto<T,NotificationPolicy> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_auto_predicate(boost::function<bool (T)> f,T arg) : 
-      prop_auto<T,NotificationPolicy>(init(f,arg)),
-      fs(f)
-      { 
-      }
-      
-    template<class U>
-    prop_auto_predicate(boost::function<bool (T)> f,U arg) : 
-      prop_auto<T,NotificationPolicy>(init(f,arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_auto_predicate & operator = (const prop_auto_predicate & arg) 
-      {
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = static_cast<const prop_auto<T,NotificationPolicy> &>(arg); 
-      return(*this); 
-      }
-      
-    prop_auto_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = arg; 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_auto_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_auto<T,NotificationPolicy> &>(*this) = arg; 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_auto<T,NotificationPolicy>::set(arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-      
-    bool valid(boost::function<bool (T)> f,T arg) const
-      {
-      return(!f || f(arg));
-      }
-    
-    template<class U>
-    bool valid(boost::function<bool (T)> f,U arg) const
-      {
-      return(!f || f(static_cast<T>(arg)));
-      }
-      
-    T init(boost::function<bool (T)> f,T arg) const
-      {
-      if (valid(f,arg))
-        {
-        return arg;
-        }
-      else  
-        {
-        
-        boost::initialized<T> d;
-    
-        return(boost::get(d)); 
-        }
-      }
-    
-    template<class U>
-    U init(boost::function<bool (T)> f,U arg) const
-      {
-      if (valid(f,arg))
-        {
-        return arg;
-        }
-      else  
-        {
-        
-        boost::initialized<U> d;
-    
-        return(boost::get(d));
-        }
-      }
-      
-  };
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator ++ (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator -- (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator *= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator *= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator /= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator /= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator %= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator %= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator += (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator += (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator -= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator -= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator <<= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator <<= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator >>= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator >>= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator &= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator &= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator ^= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator ^= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator |= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> &
-  >::type
-operator |= (prop_auto_predicate<T,NotificationPolicy,PredicateFailurePolicy> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyAutoReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyAutoReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,33 +0,0 @@
-#if !defined(PROPERTY_AUTO_REFERENCE_HPP)
-#define PROPERTY_AUTO_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-#include <boost/utility/value_init.hpp>
-
-namespace properties
-{
-
-  template <class T>
-  class prop_auto_reference : public i_property_reference_read<T>
-  {
-  
-    public:
-
-    prop_auto_reference() { }
-    explicit prop_auto_reference(T arg) : data(arg) { }
-    
-    operator const T & () const { return(get()); }
-    operator T & () { return(get()); }
-
-    const T & get() const { return(boost::get(data)); }
-    T & get() { return(boost::get(data)); }
-    
-    protected:
-
-    boost::initialized<T> data;
-    
-  };
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyAutoValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyAutoValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,521 +0,0 @@
-#if !defined(PROPERTY_AUTO_VALUE_HPP)
-#define PROPERTY_AUTO_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyOperators.h"
-#include <boost/utility/value_init.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/optional.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            class Access = typename boost::mpl::if_
-              <
-              boost::is_const<T>,
-              read_tag,
-              read_write_tag
-              >::type
-           >
-  class prop_auto;
-  
-  template <class T>
-  class prop_auto<T,default_policy_tag,read_tag> : 
-    public virtual i_property_read<T>
-  {
-  
-    public:
-
-    prop_auto() 
-      { 
-      }
-      
-    explicit prop_auto(T arg) : 
-      data(arg) 
-      { 
-      }
-      
-    template<class U>
-    explicit prop_auto(U arg) :
-      data(static_cast<T>(arg))
-      {
-      }
-      
-    operator T() const 
-      { 
-      return(get()); 
-      }
-
-    T get() const 
-      { 
-      return(boost::get(data)); 
-      }
-    
-    protected:
-
-    boost::initialized<T> data;
-    
-    private:
-    
-    prop_auto & operator = (const prop_auto & arg);
-      
-  };
-  
-  template <class T>
-  struct prop_auto<T,default_policy_tag,read_write_tag> : 
-    prop_auto<T,default_policy_tag,read_tag>, 
-    i_property_read_write<T>
-  {
-
-    prop_auto() 
-      { 
-      }
-      
-    prop_auto(const prop_auto & arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(static_cast<const prop_auto<T,default_policy_tag,read_tag> &>(arg))
-      { 
-      }
-      
-    explicit prop_auto(T arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(arg)
-      { 
-      }
-      
-    template<class U>
-    explicit prop_auto(U arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(arg)
-      {
-      }
-      
-    prop_auto & operator = (const prop_auto & arg) 
-      {
-      return(*this = static_cast<T>(arg));
-      }
-    
-    prop_auto & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_auto & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      boost::get(data) = arg; 
-      }
-    
-  };
-  
-  template <class T,template <class> class NotificationPolicy>
-  struct prop_auto<T,NotificationPolicy,read_write_tag> : 
-    prop_auto<T,default_policy_tag,read_tag>, 
-    i_property_read_write<T>, 
-    NotificationPolicy<T>
-  {
-
-    prop_auto() 
-      { 
-      }
-      
-    prop_auto(const prop_auto & arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(static_cast<const prop_auto<T,default_policy_tag,read_tag> &>(arg))
-      { 
-      }
-      
-    explicit prop_auto(T arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(arg)
-      { 
-      }
-      
-    template<class U>
-    explicit prop_auto(U arg) : 
-      prop_auto<T,default_policy_tag,read_tag>(arg)
-      {
-      }
-      
-    prop_auto & operator = (const prop_auto & arg) 
-      {
-      return(*this = static_cast<T>(arg));
-      }
-    
-    prop_auto & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_auto & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      
-      T t(*this);
-      
-      boost::get(data) = arg;
-      property_changed(*this,boost::optional<T>(t),arg);
-      }
-    
-  };
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator ++ (prop_auto<T,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator -- (prop_auto<T,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_auto<T,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_auto<T,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_auto<T,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyBase.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyBase.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,24 +0,0 @@
-#pragma once
-
-namespace properties
-{
-  
-  template <typename T>
-  class PropertyRead
-  {
-    public:
-
-    virtual T getValue() = 0;
-
-  };
-
-  template <typename T>
-  class PropertyWrite
-  {
-    public:
-
-    virtual void setValue(T) = 0;
-
-  };
-  
-}
Deleted: sandbox/property/boost/property/PropertyBasic.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyBasic.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,10 +0,0 @@
-#pragma once
-
-#include "PropertyAuto.h"
-#include "PropertyCallable.h"
-#include "PropertyData.h"
-#include "PropertyFunction.h"
-#include "PropertyFunctor.h"
-#include "PropertyIndexMap.h"
-#include "PropertyMemberData.h"
-#include "PropertyMemberFunction.h"
Deleted: sandbox/property/boost/property/PropertyCallable.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyCallable.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,7 +0,0 @@
-#if !defined(PROPERTY_CALLABLE_HPP)
-#define PROPERTY_CALLABLE_HPP
-
-#include "PropertyCallableValue.h"
-#include "PropertyCallableReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyCallableReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyCallableReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,58 +0,0 @@
-#if !defined(PROPERTY_CALLABLE_REFERENCE_HPP)
-#define PROPERTY_CALLABLE_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-#include "PropertyException.h"
-#include <boost/function.hpp>
-
-namespace properties
-{
-  template <class T>
-  class prop_callable_reference : 
-    public i_property_reference_read<T>
-  {
-
-    public:
-  
-    prop_callable_reference(boost::function<T & ()> g) : 
-      fg(g) 
-      { 
-      }
-  
-    operator T & () 
-      { 
-      return(get()); 
-      }
-      
-    operator T const & () const 
-      { 
-      return(get()); 
-      }
-  
-    T const & get() const 
-      { 
-      if (fg == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return(fg()); 
-      }
-      
-    T & get() 
-      { 
-      if (fg == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return(fg()); 
-      }
-  
-    private:
-  
-    boost::function<T & ()> fg;
-
-  };
-
-}
-
-#endif
\ No newline at end of file
Deleted: sandbox/property/boost/property/PropertyCallableValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyCallableValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,520 +0,0 @@
-#if !defined(PROPERTY_CALLABLE_VALUE_HPP)
-#define PROPERTY_CALLABLE_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyException.h"
-#include "PropertyOperators.h"
-#include <boost/function.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            class Access = typename boost::mpl::if_
-                        <
-                        boost::is_const<T>,
-                        read_tag,
-                        read_write_tag
-                        >::type
-           >
-  class prop_callable;
-  
-  template <class T>
-  class prop_callable<T,read_tag> : 
-    public virtual i_property_read<T>
-  {
-
-    public:
-  
-    explicit prop_callable(boost::function<T ()> g) : 
-      fg(g) 
-      { 
-      }
-  
-    operator T() const 
-      { 
-      return(get()); 
-      }
-  
-    T get() const 
-      { 
-      if (fg == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return(fg()); 
-      }
-  
-    private:
-  
-    boost::function<T ()> fg;
-    
-    prop_callable & operator = (const prop_callable & arg);
-    
-  };
-
-  template <class T>
-  class prop_callable<T,write_tag> : 
-    public virtual i_property_write<T>
-  {
-
-    public:
-  
-    explicit prop_callable(boost::function<void (T)> s) : 
-      fs(s) 
-      { 
-      }
-      
-    prop_callable(boost::function<void (T)> s,T arg) : 
-      fs(s) 
-      { 
-      if (fs == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      fs(arg); 
-      }
-      
-    template<class U>
-    prop_callable(boost::function<void (T)> s,U arg) : 
-      fs(s)
-      { 
-      if (fs == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      fs(static_cast<T>(arg)); 
-      }
-      
-    prop_callable & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_callable & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (fs == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      fs(arg); 
-      }
-  
-    private:
-  
-    boost::function<void (T)> fs;
-    
-    prop_callable & operator = (const prop_callable & arg);
-    
-  };
-    
-  template <class T>
-  struct prop_callable<T,read_write_tag> : 
-    prop_callable<T,read_tag>, 
-    prop_callable<T,write_tag>,
-    i_property_read_write<T>
-  {
-  
-    prop_callable(const prop_callable & arg) :
-      prop_callable<T,read_tag>(arg),
-      prop_callable<T,write_tag>(static_cast<const prop_callable<T,write_tag> &>(arg)) 
-      {
-      }
-    
-    prop_callable(boost::function<T ()> g,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<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<T,read_tag>(g),
-      prop_callable<T,write_tag>(s,arg) 
-      { 
-      }
-      
-    prop_callable & operator = (const prop_callable & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_callable & operator = (T arg) 
-      { 
-      (static_cast<prop_callable<T,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_callable & operator = (U arg) 
-      { 
-      (static_cast<prop_callable<T,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-      
-  };
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator ++ (prop_callable<T,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator -- (prop_callable<T,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator *= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator *= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator /= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator /= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator %= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator %= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator += (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator += (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator -= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator -= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator <<= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator <<= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator >>= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator >>= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator &= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator &= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator ^= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator ^= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator |= (prop_callable<T,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_callable<T,read_write_tag> &
-  >::type
-operator |= (prop_callable<T,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyClass.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyClass.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,25 +0,0 @@
-#pragma once
-#include "Property.h"
-
-class PropertyClass
-{
-  public:
-  
-	PropertyClass();
-	virtual ~PropertyClass();
-	
-	private:
-  
-  int pi;
-  
-  public:
-  
-  int ReturnPi();
-  void SetPiValue(int val);
-  
-  public:
-  
-  properties::PropertyMemberFunction<int,PropertyClass,&PropertyClass::ReturnPi,&PropertyClass::SetPiValue> IntMem;
-  properties::PropertyReadMemberFunction<int,PropertyClass,&PropertyClass::ReturnPi> IntMemNoWrite;
-	
-};
Deleted: sandbox/property/boost/property/PropertyData.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyData.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,8 +0,0 @@
-#if !defined(PROPERTY_DATA_HPP)
-#define PROPERTY_DATA_HPP
-
-#include "PropertyDataValue.h"
-#include "PropertyDataPredicate.h"
-#include "PropertyDataReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyDataPredicate.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyDataPredicate.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,643 +0,0 @@
-#if !defined(PROPERTY_DATA_PREDICATE_HPP)
-#define PROPERTY_DATA_PREDICATE_HPP
-
-#include "PropertyTag.h"
-#include "PropertyDataValue.h"
-#include "PropertyOperators.h"
-#include <boost/function.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-  template <class T, 
-            T *d, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            template <class> class PredicateFailurePolicy = default_policy_tag,
-            class Access = read_write_tag
-           >
-  class prop_data_predicate;
-  
-  template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy>
-  struct prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,write_tag> : 
-    prop_data<T,d,NotificationPolicy,write_tag>,
-    PredicateFailurePolicy<T>
-  {
-  
-    explicit prop_data_predicate(boost::function<bool (T)> f) : 
-      fs(f)
-      { 
-      }
-      
-    prop_data_predicate(const prop_data_predicate & arg) : 
-      prop_data<T,d,NotificationPolicy,write_tag>(static_cast<const prop_data<T,d,NotificationPolicy,write_tag> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_data_predicate(boost::function<bool (T)> f,T arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = arg;
-        }
-      }
-      
-    template<class U>
-    prop_data_predicate(boost::function<bool (T)> f,U arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = static_cast<T>(arg);
-        }
-      }
-      
-    prop_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_data<T,d,NotificationPolicy,write_tag>::set(arg);
-        }
-      else
-        {
-        PredicateFailure(*this,fs,boost::optional<T>(),arg);
-        }
-      }
-      
-    private:
-    
-    boost::function<bool (T)> fs;
-      
-    prop_data_predicate & operator = (const prop_data_predicate & arg);
-      
-  };
-  
-  template <class T, T *d,template <class> class NotificationPolicy>
-  struct prop_data_predicate<T,d,NotificationPolicy,default_policy_tag,write_tag> : 
-    prop_data<T,d,NotificationPolicy,write_tag>
-  {
-  
-    explicit prop_data_predicate(boost::function<bool (T)> f) : 
-      fs(f)
-      { 
-      }
-      
-    prop_data_predicate(const prop_data_predicate & arg) : 
-      prop_data<T,d,NotificationPolicy,write_tag>(static_cast<const prop_data<T,d,NotificationPolicy,write_tag> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_data_predicate(boost::function<bool (T)> f,T arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = arg;
-        }
-      }
-      
-    template<class U>
-    prop_data_predicate(boost::function<bool (T)> f,U arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = static_cast<T>(arg);
-        }
-      }
-      
-    prop_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_data<T,d,NotificationPolicy,write_tag>::set(arg);
-        }
-      }
-      
-    private:
-    
-    boost::function<bool (T)> fs;
-      
-    prop_data_predicate & operator = (const prop_data_predicate & arg);
-      
-  };
-  
-  template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy>
-  struct prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> : 
-    prop_data<T,d,NotificationPolicy,read_write_tag>,
-    PredicateFailurePolicy<T>
-  {
-  
-    explicit prop_data_predicate(boost::function<bool (T)> f) : 
-      fs(f)
-      { 
-      }
-      
-    prop_data_predicate(const prop_data_predicate & arg) : 
-      prop_data<T,d,NotificationPolicy,read_write_tag>(static_cast<const prop_data<T,d,NotificationPolicy,read_write_tag> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_data_predicate(boost::function<bool (T)> f,T arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = arg;
-        }
-      }
-      
-    template<class U>
-    prop_data_predicate(boost::function<bool (T)> f,U arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = static_cast<T>(arg);
-        }
-      }
-      
-    prop_data_predicate & operator = (const prop_data_predicate & arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = static_cast<const prop_data<T,d,NotificationPolicy,read_write_tag> &>(arg);
-      return(*this); 
-      }
-      
-    prop_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_data<T,d,NotificationPolicy,read_write_tag>::set(arg);
-        }
-      else
-        {
-      
-        T t(*this);
-      
-        PredicateFailure(*this,fs,boost::optional<T>(t),arg);
-        }
-      }
-      
-    private:
-    
-    boost::function<bool (T)> fs;
-      
-  };
-
-  template <class T, T *d,template <class> class NotificationPolicy>
-  struct prop_data_predicate<T,d,NotificationPolicy,default_policy_tag,read_write_tag> : 
-    prop_data<T,d,NotificationPolicy,read_write_tag>
-  {
-  
-    explicit prop_data_predicate(boost::function<bool (T)> f) : 
-      fs(f)
-      { 
-      }
-      
-    prop_data_predicate(const prop_data_predicate & arg) : 
-      prop_data<T,d,NotificationPolicy,read_write_tag>(static_cast<const prop_data<T,d,NotificationPolicy,read_write_tag> &>(arg)),
-      fs(arg.fs)
-      { 
-      }
-      
-    prop_data_predicate(boost::function<bool (T)> f,T arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = arg;
-        }
-      }
-      
-    template<class U>
-    prop_data_predicate(boost::function<bool (T)> f,U arg) : 
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        *d = static_cast<T>(arg);
-        }
-      }
-      
-    prop_data_predicate & operator = (const prop_data_predicate & arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = static_cast<const prop_data<T,d,NotificationPolicy,read_write_tag> &>(arg);
-      return(*this); 
-      }
-      
-    prop_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_data<T,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_data<T,d,NotificationPolicy,read_write_tag>::set(arg);
-        }
-      }
-      
-    private:
-    
-    boost::function<bool (T)> fs;
-      
-  };
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ++ (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -- (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator *= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator *= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator /= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator /= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator %= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator %= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator += (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator += (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator <<= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator <<= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator >>= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator >>= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator &= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator &= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ^= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ^= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator |= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator |= (prop_data_predicate<T,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyDataReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyDataReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,38 +0,0 @@
-#if !defined(PROPERTY_DATA_REFERENCE_HPP)
-#define PROPERTY_DATA_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-
-namespace properties
-{
-
-  template <class T, T *d>
-  struct prop_data_reference : 
-    i_property_reference_read<T>
-    {
-    
-    operator const T & () const 
-      { 
-      return(get()); 
-      }
-      
-    operator T & () 
-      { 
-      return(get()); 
-      }
-    
-    const T & get() const 
-      { 
-      return(*d); 
-      }
-      
-    T & get() 
-      { 
-      return(*d); 
-      }
-    
-    };
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyDataValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyDataValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,588 +0,0 @@
-#if !defined(PROPERTY_DATA_VALUE_HPP)
-#define PROPERTY_DATA_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyException.h"
-#include "PropertyOperators.h"
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/optional.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            T *d, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            class Access = typename boost::mpl::if_
-                        <
-                        boost::is_const<T>,
-                        read_tag,
-                        read_write_tag
-                        >::type
-           >
-  class prop_data;
-  
-  template <class T, T *d>
-  struct prop_data<T,d,default_policy_tag,read_tag> : 
-    virtual i_property_read<T>
-  {
-  
-    operator T() const 
-      { 
-      return(get()); 
-      }
-    
-    T get() const 
-      { 
-      return(*d); 
-      }
-      
-    private:  
-    
-    prop_data & operator = (const prop_data &);
-    
-  };
-
-  template <class T, T *d>
-  struct prop_data<T,d,default_policy_tag,write_tag> : 
-    virtual i_property_write<T>
-  {
-  
-    prop_data() 
-      { 
-      }
-      
-    explicit prop_data(T arg) 
-      { 
-      *d = arg; 
-      }
-      
-    template<class U>
-    explicit prop_data(U arg) 
-      { 
-      *d = static_cast<T>(arg); 
-      }
-      
-    prop_data & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      *d = arg; 
-      }
-    
-    private:  
-    
-    prop_data & operator = (const prop_data &);
-    
-  };
-
-  template <class T, T *d,template <class> class NotificationPolicy>
-  struct prop_data<T,d,NotificationPolicy,write_tag> : 
-    virtual i_property_write<T>, 
-    NotificationPolicy<T>
-  {
-  
-    prop_data() 
-      { 
-      }
-      
-    explicit prop_data(T arg) 
-      { 
-      *d = arg; 
-      }
-      
-    template<class U>
-    explicit prop_data(U arg) 
-      { 
-      *d = static_cast<T>(arg); 
-      }
-      
-    prop_data & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-      
-    void set(T arg) 
-      { 
-      *d = arg; 
-      property_changed(*this,oldT,arg);
-      }
-      
-    protected:
-    
-    boost::optional<T> oldT;
-    
-    private:  
-    
-    prop_data & operator = (const prop_data &);
-    
-  };
-
-  template <class T, T *d>
-  struct prop_data<T,d,default_policy_tag,read_write_tag> : 
-    prop_data<T,d,default_policy_tag,read_tag> , 
-    prop_data<T,d,default_policy_tag,write_tag>,
-    i_property_read_write<T>
-  {
-  
-    prop_data() 
-      { 
-      }
-      
-    prop_data(const prop_data & arg) :
-      prop_data<T,d,default_policy_tag,read_tag>(arg),
-      prop_data<T,d,default_policy_tag,write_tag>(static_cast<const prop_data<T,d,default_policy_tag,write_tag> &>(arg))
-      { 
-      }
-      
-    explicit prop_data(T arg) : 
-      prop_data<T,d,default_policy_tag,write_tag>(arg) 
-      { 
-      }
-      
-    template<class U>
-    explicit prop_data(U arg) : 
-      prop_data<T,d,default_policy_tag,write_tag>(arg) 
-      { 
-      }
-      
-    prop_data & operator = (const prop_data & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_data & operator = (T arg) 
-      { 
-      (static_cast<prop_data<T,d,default_policy_tag,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_data & operator = (U arg) 
-      { 
-      (static_cast<prop_data<T,d,default_policy_tag,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-  template <class T, T *d,template <class> class NotificationPolicy>
-  struct prop_data<T,d,NotificationPolicy,read_write_tag> : 
-    prop_data<T,d,NotificationPolicy,read_tag> , 
-    prop_data<T,d,NotificationPolicy,write_tag>,
-    i_property_read_write<T>
-  {
-  
-    prop_data() 
-      { 
-      }
-      
-    prop_data(const prop_data & arg) :
-      prop_data<T,d,default_policy_tag,read_tag>(arg),
-      prop_data<T,d,NotificationPolicy,write_tag>(static_cast<const prop_data<T,d,NotificationPolicy,write_tag> &>(arg))
-      { 
-      }
-      
-    explicit prop_data(T arg) : 
-      prop_data<T,d,NotificationPolicy,write_tag>(arg) 
-      { 
-      }
-      
-    template<class U>
-    explicit prop_data(U arg) : 
-      prop_data<T,d,NotificationPolicy,write_tag>(arg) 
-      { 
-      }
-      
-    prop_data & operator = (const prop_data & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_data & operator = (T arg) 
-      { 
-      oldT = *this;
-      (static_cast<prop_data<T,d,NotificationPolicy,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-      
-    template<class U>
-    prop_data & operator = (U arg) 
-      { 
-      oldT = *this;
-      (static_cast<prop_data<T,d,NotificationPolicy,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-      
-  };
-
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ++ (prop_data<T,d,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -- (prop_data<T,d,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, T *d,template <class> class NotificationPolicy,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_data<T,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_data<T,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyException.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyException.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,35 +0,0 @@
-#if !defined(PROPERTY_EXCEPTION_HPP)
-#define PROPERTY_EXCEPTION_HPP
-
-#include <stdexcept>
-
-namespace properties
-{
-
-  class property_read_exception : std::runtime_error
-  { 
-  
-    public:
-  
-    property_read_exception() : std::runtime_error("") { }
-  };
-
-  class property_write_exception : std::runtime_error
-  { 
-  
-    public:
-  
-    property_write_exception() : std::runtime_error("") { }
-  };
-
-  class property_index_exception : std::runtime_error
-  { 
-  
-    public:
-  
-    property_index_exception() : std::runtime_error("") { }
-  };
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunction.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunction.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,7 +0,0 @@
-#if !defined(PROPERTY_FUNCTION_HPP)
-#define PROPERTY_FUNCTION_HPP
-
-#include "PropertyFunctionValue.h"
-#include "PropertyFunctionReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunctionReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunctionReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,47 +0,0 @@
-#if !defined(PROPERTY_FUNCTION_REFERENCE_HPP)
-#define PROPERTY_FUNCTION_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-#include "PropertyException.h"
-
-namespace properties
-{
-
-  template <class T, T & (*g)()>
-  struct prop_function_reference : 
-    i_property_reference_read<T>
-  {
-  
-    operator T const & () const 
-      { 
-      return(get()); 
-      }
-      
-    operator T & () 
-      { 
-      return(get()); 
-      }
-    
-    T const & get() const 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((*g)()); 
-      }
-      
-    T & get() 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((*g)()); 
-      }
-    
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunctionValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunctionValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,556 +0,0 @@
-#if !defined(PROPERTY_FUNCTION_VALUE_HPP)
-#define PROPERTY_FUNCTION_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyException.h"
-#include "PropertyOperators.h"
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, T (*g)()>
-  struct prop_read_function : 
-    virtual i_property_read<T>
-  {
-  
-    operator T() const 
-      { 
-      return(get()); 
-      }
-    
-    T get() const 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((*g)()); 
-      }
-      
-    private:
-    
-    prop_read_function & operator = (const prop_read_function &);
-    
-  };
-  
-  template <class T, 
-            void (*s)(T) 
-           >
-  struct prop_write_function : 
-    virtual i_property_write<T>
-  {
-  
-    prop_write_function() 
-      { 
-      }
-      
-    explicit prop_write_function(T arg) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (*s)(arg); 
-      }
-    
-    template<class U>
-    explicit prop_write_function(U arg) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (*s)(static_cast<T>(arg)); 
-      }
-    
-    prop_write_function & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_write_function & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (*s)(arg); 
-      }
-      
-    private:
-    
-    prop_write_function & operator = (const prop_write_function &);
-    
-  };
-
-
-  template <class T, T (*g)(), void (*s)(T)>
-  struct prop_function : 
-    prop_read_function<T,g>, 
-    prop_write_function<T,s>
-  {
-  
-    prop_function() 
-      { 
-      }
-      
-    explicit prop_function(T arg) : 
-      prop_write_function<T,s>(arg) 
-      { 
-      }
-    
-    prop_function(const prop_function & arg) :
-      prop_read_function<T,g>(arg),
-      prop_write_function<T,s>(static_cast<const prop_write_function<T,s> &>(arg))
-      { 
-      }
-      
-    template<class U>
-    explicit prop_function(U arg) : 
-      prop_write_function<T,s>(arg) 
-      { 
-      }
-    
-    prop_function & operator = (const prop_function & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-    
-    prop_function & operator = (T arg) 
-      { 
-      (static_cast<prop_write_function<T,s> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_function & operator = (U arg) 
-      { 
-      (static_cast<prop_write_function<T,s> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator ++ (prop_function<T,g,s> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, 
-          T (*g)(),
-          void (*s)(T)
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator -- (prop_function<T,g,s> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator *= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator *= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator /= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator /= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator %= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator %= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator += (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator += (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator -= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator -= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator <<= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator <<= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator >>= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator >>= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator &= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator &= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator ^= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator ^= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T) 
-          >
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_function<T,g,s> &
-  >::type
-operator |= (prop_function<T,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          T (*g)(),
-          void (*s)(T),
-          class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_function<T,g,s> &
-  >::type
-operator |= (prop_function<T,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunctor.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunctor.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,7 +0,0 @@
-#if !defined(PROPERTY_FUNCTOR_HPP)
-#define PROPERTY_FUNCTOR_HPP
-
-#include "PropertyFunctorValue.h"
-#include "PropertyFunctorReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunctorReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunctorReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,49 +0,0 @@
-#if !defined(PROPERTY_FUNCTOR_REFERENCE_HPP)
-#define PROPERTY_FUNCTOR_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-
-namespace properties
-{
-
-  template <class T, class C>
-  class prop_functor_reference : 
-    public i_property_reference_read<T>
-  {
-  
-    public:
-    
-    prop_functor_reference(C & c) : 
-      cf(c) 
-      { 
-      }
-    
-    operator T const & () const 
-      { 
-      return(get()); 
-      }
-      
-    operator T & () 
-      { 
-      return(get()); 
-      }
-    
-    T const & get() const 
-      { 
-      return(cf()); 
-      }
-      
-    T & get() const 
-      { 
-      return(cf()); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyFunctorValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyFunctorValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,503 +0,0 @@
-#if !defined(PROPERTY_FUNCTOR_VALUE_HPP)
-#define PROPERTY_FUNCTOR_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyOperators.h"
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            class C, 
-            class Access = typename boost::mpl::if_
-                        <
-                        boost::is_const<T>,
-                        read_tag,
-                        read_write_tag
-                        >::type
-           >
-  class prop_functor;
-  
-  template <class T, class C>
-  class prop_functor<T,C,read_tag> : 
-    public virtual i_property_read<T>
-  {
-  
-    public:
-    
-    explicit prop_functor(C & c) : cf(c) 
-      { 
-      }
-    
-    operator T() const 
-      { 
-      return(get()); 
-      }
-    
-    T get() const 
-      { 
-      return(cf()); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-    prop_functor & operator = (const prop_functor &);
-    
-  };
-
-  template <class T, class C>
-  class prop_functor<T,C,write_tag> : 
-    public virtual i_property_write<T>
-  {
-  
-    public:
-    
-    explicit prop_functor(C & c) : 
-      cf(c) 
-      { 
-      }
-      
-    prop_functor(C & c,T arg) : 
-      cf(c) 
-      { 
-      cf(arg); 
-      }
-    
-    template<class U>
-    prop_functor(C & c,U arg) : 
-      cf(c) 
-      { 
-      cf(static_cast<T>(arg)); 
-      }
-    
-    prop_functor & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_functor & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      cf(arg); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-    prop_functor & operator = (const prop_functor &);
-    
-  };
-
-  template <class T, class C>
-  struct prop_functor<T,C,read_write_tag> : 
-    prop_functor<T,C,read_tag>, 
-    prop_functor<T,C,write_tag>,
-    i_property_read_write<T>
-  {
-  
-    explicit prop_functor(C & c) : 
-      prop_functor<T,C,read_tag>(c), 
-      prop_functor<T,C,write_tag>(c) 
-      { 
-      }
-      
-    prop_functor(const prop_functor & arg) : 
-      prop_functor<T,C,read_tag>(arg),
-      prop_functor<T,C,write_tag>(static_cast<const prop_functor<T,C,write_tag> &>(arg))
-      {
-      }
-    
-    prop_functor(C & c,T arg) : 
-      prop_functor<T,C,read_tag>(c) , 
-      prop_functor<T,C,write_tag>(c,arg) 
-      { 
-      }
-    
-    template<class U>
-    prop_functor(C & c,U arg) : 
-      prop_functor<T,C,read_tag>(c), 
-      prop_functor<T,C,write_tag>(c,arg) 
-      { 
-      }
-    
-    prop_functor & operator = (const prop_functor & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_functor & operator = (T arg) 
-      { 
-      (static_cast<prop_functor<T,C,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_functor & operator = (U arg) 
-      { 
-      (static_cast<prop_functor<T,C,write_tag> & >(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator ++ (prop_functor<T,C,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator -- (prop_functor<T,C,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator *= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator *= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator /= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator /= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator %= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator %= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator += (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator += (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator -= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator -= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator <<= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator <<= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator >>= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator >>= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator &= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator &= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator ^= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator ^= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator |= (prop_functor<T,C,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_functor<T,C,read_write_tag> &
-  >::type
-operator |= (prop_functor<T,C,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyIndexInterface.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyIndexInterface.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,50 +0,0 @@
-#if !defined(PROPERTY_INDEX_INTERFACE_HPP)
-#define PROPERTY_INDEX_INTERFACE_HPP
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-namespace properties
-{
-
-  template <class T,class I>
-  struct i_property_index_read
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    
-    virtual T get(I) const = 0;
-
-  };
-
-  template <class T,class I>
-  struct i_property_index_write
-  {
-  
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    BOOST_MPL_ASSERT_NOT((boost::is_const<T>));
-    
-    virtual void set(I,T) = 0;
-
-  };
-  
-  template <class T,class I,class R>
-  struct i_property_index_read_write_lvalue : i_property_index_read<T,I>, public i_property_index_write<T,I>
-  {
-  
-    virtual R operator [] (I) = 0;
-
-  };
-
-  template <class T,class I,class R>
-  struct i_property_index_read_immutable : i_property_index_read<T,I>
-  {
-
-    virtual R operator [] (I) const = 0;
-
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyIndexMap.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyIndexMap.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,28 +0,0 @@
-#if !defined(PROPERTY_INDEX_MAP_HPP)
-#define PROPERTY_INDEX_MAP_HPP
-
-#include "detail/PropertyIndexMapDetail.h"
-
-namespace properties
-{
-
-  template <class PMAP>
-  struct prop_index_map : 
-    detail::PropertyIndexMapMakeBase<PMAP>::type
-  {
-  
-    prop_index_map(PMAP & pmap) : 
-      detail::PropertyIndexMapMakeBase<PMAP>::type(pmap) 
-      { 
-      }
-    
-    private:
-    
-    prop_index_map(const prop_index_map<PMAP> &);
-    prop_index_map & operator = (const prop_index_map<PMAP> &);
-    
-  };
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyInterface.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyInterface.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,45 +0,0 @@
-#if !defined(PROPERTY_INTERFACE_HPP)
-#define PROPERTY_INTERFACE_HPP
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-namespace properties
-{
-  
-  template <class T>
-  struct i_property_read
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    
-    virtual T get() const = 0;
-
-  };
-
-  template <class T>
-  struct i_property_write
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    BOOST_MPL_ASSERT_NOT((boost::is_const<T>));
-    
-    virtual void set(T) = 0;
-
-  };
-  
-  template <class T>
-  struct i_property_read_write : 
-    virtual i_property_read<T>, 
-    virtual i_property_write<T>
-  {
-  
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    BOOST_MPL_ASSERT_NOT((boost::is_const<T>));
-    
-  };
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberData.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberData.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,8 +0,0 @@
-#if !defined(PROPERTY_MEMBER_DATA_HPP)
-#define PROPERTY_MEMBER_DATA_HPP
-
-#include "PropertyMemberDataValue.h"
-#include "PropertyMemberDataReference.h"
-#include "PropertyMemberDataPredicate.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberDataPredicate.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberDataPredicate.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,657 +0,0 @@
-#if !defined(PROPERTY_MEMBER_DATA_PREDICATE_HPP)
-#define PROPERTY_MEMBER_DATA_PREDICATE_HPP
-
-#include "PropertyTag.h"
-#include "PropertyMemberDataValue.h"
-#include "PropertyOperators.h"
-#include <boost/function.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            class C, 
-            T C::*d, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            template <class> class PredicateFailurePolicy = default_policy_tag,
-            class Access = read_write_tag
-           >
-  class prop_member_data_predicate;
-  
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy>
-  struct prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,write_tag> : 
-    prop_member_data<T,C,d,NotificationPolicy,write_tag>,
-    PredicateFailurePolicy<T>
-  {
-    
-    prop_member_data_predicate(const prop_member_data_predicate & arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(static_cast<const prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,T arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = arg;
-        }
-      }
-    
-    template<class U>
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,U arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = static_cast<T>(arg);
-        }
-      }
-    
-    prop_member_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_member_data<T,C,d,NotificationPolicy,write_tag>::set(arg);
-        }
-      else
-        {
-        PredicateFailure(*this,fs,boost::optional<T>(),arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-    
-    prop_member_data_predicate & operator = (const prop_member_data_predicate & arg);
-    
-  };
-
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy>
-  struct prop_member_data_predicate<T,C,d,NotificationPolicy,default_policy_tag,write_tag> : 
-    prop_member_data<T,C,d,NotificationPolicy,write_tag>
-  {
-    
-    prop_member_data_predicate(const prop_member_data_predicate & arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(static_cast<const prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,T arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = arg;
-        }
-      }
-    
-    template<class U>
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,U arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = static_cast<T>(arg);
-        }
-      }
-    
-    prop_member_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_member_data<T,C,d,NotificationPolicy,write_tag>::set(arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-    
-    prop_member_data_predicate & operator = (const prop_member_data_predicate & arg);
-    
-  };
-
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy>
-  struct prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> : 
-    prop_member_data<T,C,d,NotificationPolicy,read_write_tag>,
-    PredicateFailurePolicy<T>
-  {
-    
-    prop_member_data_predicate(const prop_member_data_predicate & arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(static_cast<const prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,T arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = arg;
-        }
-      }
-    
-    template<class U>
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,U arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = static_cast<T>(arg);
-        }
-      }
-    
-    prop_member_data_predicate & operator = (const prop_member_data_predicate & arg)
-      {
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = static_cast<const prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(arg);
-      return(*this); 
-      }
-    
-    prop_member_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_member_data<T,C,d,NotificationPolicy,read_write_tag>::set(arg);
-        }
-      else
-        {
-      
-        T t(*this);
-      
-        PredicateFailure(*this,fs,boost::optional<T>(t),arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-    
-  };
-
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy>
-  struct prop_member_data_predicate<T,C,d,NotificationPolicy,default_policy_tag,read_write_tag> : 
-    prop_member_data<T,C,d,NotificationPolicy,read_write_tag>
-  {
-    
-    prop_member_data_predicate(const prop_member_data_predicate & arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(static_cast<const prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(arg)),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      }
-      
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,T arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = arg;
-        }
-      }
-    
-    template<class U>
-    prop_member_data_predicate(boost::function<bool (T)> f,C & c,U arg) : 
-      prop_member_data<T,C,d,NotificationPolicy,read_write_tag>(c),
-      fs(f)
-      { 
-      if (!fs || fs(arg))
-        {
-        c.*d = static_cast<T>(arg);
-        }
-      }
-    
-    prop_member_data_predicate & operator = (const prop_member_data_predicate & arg)
-      {
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = static_cast<const prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(arg);
-      return(*this); 
-      }
-    
-    prop_member_data_predicate & operator = (T arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data_predicate & operator = (U arg) 
-      { 
-      static_cast<prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &>(*this) = arg;
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (!fs || fs(arg))
-        {
-        prop_member_data<T,C,d,NotificationPolicy,read_write_tag>::set(arg);
-        }
-      }
-    
-    private:
-    
-    boost::function<bool (T)> fs;
-    
-  };
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ++ (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -- (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator *= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator *= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator /= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator /= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator %= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator %= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator += (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator += (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator -= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator <<= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator <<= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator >>= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator >>= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator &= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator &= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ^= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator ^= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator |= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy,template <class> class PredicateFailurePolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> &
-  >::type
-operator |= (prop_member_data_predicate<T,C,d,NotificationPolicy,PredicateFailurePolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberDataReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberDataReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,48 +0,0 @@
-#if !defined(PROPERTY_MEMBER_DATA_REFERENCE_HPP)
-#define PROPERTY_MEMBER_DATA_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-
-namespace properties
-{
-
-  template <class T, class C, T C::*d>
-  class prop_member_data_reference : 
-    public i_property_reference_read<T>
-  {
-    public:
-    
-    prop_member_data_reference(C & c) : 
-      cf(c) 
-      { 
-      }
-    
-    operator T const & () const 
-      { 
-      return(get()); 
-      }
-      
-    operator T & () 
-      { 
-      return(get()); 
-      }
-    
-    T const & get() const 
-      { 
-      return(cf.*d); 
-      }
-      
-    T & get() 
-      { 
-      return(cf.*d); 
-      }
-                 
-    private:
-    
-    C & cf;
-  
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberDataValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberDataValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,617 +0,0 @@
-#if !defined(PROPERTY_MEMBER_DATA_VALUE_HPP)
-#define PROPERTY_MEMBER_DATA_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyOperators.h"
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/optional.hpp>
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, 
-            class C, 
-            T C::*d, 
-            template <class> class NotificationPolicy = default_policy_tag,
-            class Access = typename boost::mpl::if_
-                        <
-                        boost::is_const<T>,
-                        read_tag,
-                        read_write_tag
-                        >::type
-           >
-  class prop_member_data;
-  
-  template <class T, class C, T C::*d>
-  class prop_member_data<T,C,d,default_policy_tag,read_tag> : 
-    public virtual i_property_read<T>
-  {
-    public:
-    
-    explicit prop_member_data(C & c) : 
-      cf(c) 
-      { 
-      }
-    
-    operator T() const 
-      { 
-      return(get()); 
-      }
-    
-    T get() const 
-      { 
-      return(cf.*d); 
-      }
-                 
-    private:
-    
-    C & cf;
-    
-    prop_member_data & operator = (const prop_member_data &);
-  
-  };
-
-  template <class T, class C, T C::*d>
-  class prop_member_data<T,C,d,default_policy_tag,write_tag> : 
-    public virtual i_property_write<T>
-  {
-    public:
-    
-    explicit prop_member_data(C & c) : 
-      cf(c) 
-      { 
-      }
-      
-    prop_member_data(C & c,T arg) : 
-      cf(c)
-      { 
-      cf.*d = arg;
-      }
-    
-    template<class U>
-    prop_member_data(C & c,U arg) : 
-      cf(c) 
-      { 
-      cf.*d = static_cast<T>(arg);
-      }
-    
-    prop_member_data & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      cf.*d = arg; 
-      }
-    
-    private:
-    
-    C & cf;
-  
-    prop_member_data & operator = (const prop_member_data &);
-  
-  };
-
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy>
-  class prop_member_data<T,C,d,NotificationPolicy,write_tag> : 
-    public virtual i_property_write<T>, 
-    public NotificationPolicy<T>
-  {
-    public:
-    
-    explicit prop_member_data(C & c) : 
-      cf(c) 
-      { 
-      }
-      
-    prop_member_data(C & c,T arg) : 
-      cf(c) 
-      { 
-      cf.*d = arg; 
-      }
-    
-    template<class U>
-    prop_member_data(C & c,U arg) : 
-      cf(c) 
-      { 
-      cf.*d = static_cast<T>(arg); 
-      }
-    
-    prop_member_data & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      cf.*d = arg; 
-      property_changed(*this,oldT,arg);
-      }
-    
-    private:
-    
-    C & cf;
-    
-    protected:
-    
-    boost::optional<T> oldT;
-  
-    prop_member_data & operator = (const prop_member_data &);
-  
-  };
-
-  template <class T, class C, T C::*d>
-  struct prop_member_data<T,C,d,default_policy_tag,read_write_tag> : 
-    prop_member_data<T,C,d,default_policy_tag,read_tag>, 
-    prop_member_data<T,C,d,default_policy_tag,write_tag>,
-    i_property_read_write<T>
-  {
-    public:
-    
-    explicit prop_member_data(C & c) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c) , 
-      prop_member_data<T,C,d,default_policy_tag,write_tag>(c) 
-      { 
-      }
-      
-    prop_member_data(const prop_member_data & arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(arg) , 
-      prop_member_data<T,C,d,default_policy_tag,write_tag>(static_cast<const prop_member_data<T,C,d,default_policy_tag,write_tag> &>(arg)) 
-      { 
-      }
-    
-    prop_member_data(C & c,T arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c) , 
-      prop_member_data<T,C,d,default_policy_tag,write_tag>(c,arg) 
-      { 
-      }
-    
-    template<class U>
-    prop_member_data(C & c,U arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c), 
-      prop_member_data<T,C,d,default_policy_tag,write_tag>(c,arg) 
-      { 
-      }
-    
-    prop_member_data & operator = (const prop_member_data & arg) 
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_member_data & operator = (T arg) 
-      { 
-      (static_cast<prop_member_data<T,C,d,default_policy_tag,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data & operator = (U arg) 
-      { 
-      (static_cast<prop_member_data<T,C,d,default_policy_tag,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-  template <class T, class C, T C::*d,template <class> class NotificationPolicy>
-  struct prop_member_data<T,C,d,NotificationPolicy,read_write_tag> : 
-    prop_member_data<T,C,d,default_policy_tag,read_tag>, 
-    prop_member_data<T,C,d,NotificationPolicy,write_tag>,
-    i_property_read_write<T>
-  {
-    public:
-    
-    explicit prop_member_data(C & c) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c), 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c) 
-      { 
-      }
-      
-    prop_member_data(const prop_member_data & arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(arg), 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(static_cast<const prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(arg)) 
-      { 
-      }
-    
-    prop_member_data(C & c,T arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c), 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c,arg)
-      { 
-      }
-    
-    template<class U>
-    prop_member_data(C & c,U arg) : 
-      prop_member_data<T,C,d,default_policy_tag,read_tag>(c) , 
-      prop_member_data<T,C,d,NotificationPolicy,write_tag>(c,arg) 
-      { 
-      }
-    
-    prop_member_data & operator = (const prop_member_data & arg) 
-      {
-      return(*this = static_cast<T>(arg));
-      }
-      
-    prop_member_data & operator = (T arg) 
-      { 
-      oldT = *this;
-      (static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_data & operator = (U arg) 
-      { 
-      oldT = *this;
-      (static_cast<prop_member_data<T,C,d,NotificationPolicy,write_tag> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ++ (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -- (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator *= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator /= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator %= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator += (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator -= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator <<= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator >>= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator &= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator ^= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, class C, T C::*d,template <class> class NotificationPolicy, class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_member_data<T,C,d,NotificationPolicy,read_write_tag> &
-  >::type
-operator |= (prop_member_data<T,C,d,NotificationPolicy,read_write_tag> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberFunction.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberFunction.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,7 +0,0 @@
-#if !defined(PROPERTY_MEMBER_FUNCTION_HPP)
-#define PROPERTY_MEMBER_FUNCTION_HPP
-
-#include "PropertyMemberFunctionValue.h"
-#include "PropertyMemberFunctionReference.h"
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberFunctionReference.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberFunctionReference.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,57 +0,0 @@
-#if !defined(PROPERTY_MEMBER_FUNCTION_REFERENCE_HPP)
-#define PROPERTY_MEMBER_FUNCTION_REFERENCE_HPP
-
-#include "PropertyReferenceInterface.h"
-#include "PropertyException.h"
-
-namespace properties
-{
-
-  template <class T, class C, T & (C::*g)()>
-  class prop_member_function_reference : 
-    public i_property_reference_read<T>
-  {
-    public:
-    
-    prop_member_function_reference(C & c) : 
-      cf(c) 
-      { 
-      }
-    
-    operator T const & () const 
-      { 
-      return(get()); 
-      }
-      
-    operator T & () 
-      { 
-      return(get()); 
-      }
-    
-    T const & get() const 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((cf.*g)()); 
-      }
-      
-    T & get() 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((cf.*g)()); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMemberFunctionValue.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMemberFunctionValue.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,603 +0,0 @@
-#if !defined(PROPERTY_MEMBER_FUNCTION_VALUE_HPP)
-#define PROPERTY_MEMBER_FUNCTION_VALUE_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyTag.h"
-#include "PropertyException.h"
-#include "PropertyOperators.h"
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (push)
-#pragma warning (disable: 4250)
-
-#endif
-
-namespace properties
-{
-
-  template <class T, class C, T (C::*g)()>
-  class prop_read_member_function : 
-    public virtual i_property_read<T>
-  {
-    public:
-    
-    explicit prop_read_member_function(C & c) : 
-      cf(c) 
-      { 
-      }
-    
-    operator T() const 
-      { 
-      return(get()); 
-      }
-    
-    T get() const 
-      { 
-      if (g == 0) 
-        { 
-        throw property_read_exception(); 
-        } 
-      return((cf.*g)()); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-    prop_read_member_function & operator = (const prop_read_member_function &);
-    
-  };
-
-  template <class T, class C, void (C::*s)(T)>
-  class prop_write_member_function : 
-    public virtual i_property_write<T>
-  {
-    public:
-    
-    explicit prop_write_member_function(C & c) : 
-      cf(c) 
-      { 
-      }
-      
-    prop_write_member_function(C & c,T arg) : 
-      cf(c) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (cf.*s)(arg); 
-      }
-    
-    template<class U>
-    prop_write_member_function(C & c,U arg) : 
-      cf(c) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (cf.*s)(static_cast<T>(arg)); 
-      }
-    
-    prop_write_member_function & operator = (T arg) 
-      { 
-      set(arg); 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_write_member_function & operator = (U arg) 
-      { 
-      set(static_cast<T>(arg)); 
-      return(*this); 
-      }
-    
-    void set(T arg) 
-      { 
-      if (s == 0) 
-        { 
-        throw property_write_exception(); 
-        } 
-      (cf.*s)(arg); 
-      }
-    
-    private:
-    
-    C & cf;
-    
-    prop_write_member_function & operator = (const prop_write_member_function &);
-    
-  };
-
-  template <class T, class C, T (C::*g)(), void (C::*s)(T)>
-  struct prop_member_function : 
-    prop_read_member_function<T,C,g> , 
-    prop_write_member_function<T,C,s>
-  {
-  
-    explicit prop_member_function(C & c) : 
-      prop_read_member_function<T,C,g>(c) , 
-      prop_write_member_function<T,C,s>(c) 
-      { 
-      }
-      
-    prop_member_function(const prop_member_function & arg) : 
-      prop_read_member_function<T,C,g>(arg) , 
-      prop_write_member_function<T,C,s>(static_cast<const prop_write_member_function<T,C,s> &>(arg)) 
-      { 
-      }
-    
-    prop_member_function(C & c,T arg) : 
-      prop_read_member_function<T,C,g>(c) , 
-      prop_write_member_function<T,C,s>(c,arg) 
-      { 
-      }
-    
-    template<class U>
-    prop_member_function(C & c,U arg) : 
-      prop_read_member_function<T,C,g>(c) , 
-      prop_write_member_function<T,C,s>(c,arg) 
-      { 
-      }
-    
-    prop_member_function & operator = (const prop_member_function & arg)
-      {
-      return(*this = static_cast<T>(arg));
-      }
-    
-    prop_member_function & operator = (T arg) 
-      { 
-      (static_cast<prop_write_member_function<T,C,s> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-    template<class U>
-    prop_member_function & operator = (U arg) 
-      { 
-      (static_cast<prop_write_member_function<T,C,s> &>(*this)) = arg; 
-      return(*this); 
-      }
-    
-  };
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator ++ (prop_member_function<T,C,g,s> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-      
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator -- (prop_member_function<T,C,g,s> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator *= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator *= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator /= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator /= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator %= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator %= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator += (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator += (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator -= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator -= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator <<= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator <<= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator >>= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator >>= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator &= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator &= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator ^= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator ^= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T)
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator |= (prop_member_function<T,C,g,s> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T, 
-          class C, 
-          T (C::*g)(), 
-          void (C::*s)(T),
-          class U
-         > 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  prop_member_function<T,C,g,s> &
-  >::type
-operator |= (prop_member_function<T,C,g,s> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-}
-
-#if defined(BOOST_MSVC)
-
-#pragma warning (pop)
-
-#endif
-
-#endif
Deleted: sandbox/property/boost/property/PropertyMixin.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyMixin.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,8 +0,0 @@
-#pragma once
-
-#include "PropertyCallableMixin.h"
-#include "PropertyDataMixin.h"
-#include "PropertyFunctionMixin.h"
-#include "PropertyFunctorMixin.h"
-#include "PropertyMemberDataMixin.h"
-#include "PropertyMemberFunctionMixin.h"
Deleted: sandbox/property/boost/property/PropertyNotificationBoostSignal.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyNotificationBoostSignal.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,29 +0,0 @@
-#if !defined(PROPERTY_NOTIFICATION_BOOST_SIGNAL_HPP)
-#define PROPERTY_NOTIFICATION_BOOST_SIGNAL_HPP
-
-#include <boost/signal.hpp>
-#include <boost/optional.hpp>
-#include "PropertyInterface.h"
-
-namespace properties
-{
-
-  template <class T> class notification_boost_signal
-    {
-    
-    public:
-    
-    boost::signal<void (const i_property_write<T> &,boost::optional<T>,T)> sig;
-    
-    protected:
-      
-    void property_changed(const i_property_write<T> & signaller,boost::optional<T> oldValue,T newValue) 
-      {
-      sig(signaller,oldValue,newValue);
-      }
-    
-    };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyOperators.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyOperators.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,380 +0,0 @@
-#if !defined(PROPERTY_OPERATORS_HPP)
-#define PROPERTY_OPERATORS_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyOperatorsEnabling.h"
-#include "PropertyOperatorsDetail.h"
-#include <boost/utility/enable_if.hpp>
-
-namespace properties
-{
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_increment<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator ++ (i_property_read_write<T> & value)
-  {
-  
-  T t(value.get());
-  
-  ++t;
-  value.set(t);
-  return(value);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_decrement<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator -- (i_property_read_write<T> & value)
-  {
-  
-  T t(value.get());
-  
-  --t;
-  value.set(t);
-  return(value);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_post_increment<T>::type,
-  T
-  >::type
-operator ++ (i_property_read_write<T> & value,int)
-  {
-  
-  T ret(value.get());
-  T t(ret);
-  
-  ++t;
-  value.set(t);
-  return(ret);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_post_decrement<T>::type,
-  T
-  >::type
-operator -- (i_property_read_write<T> & value,int)
-  {
-  
-  T ret(value.get());
-  T t(ret);
-  
-  --t;
-  value.set(t);
-  return(ret);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator *= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_multiply_same<T>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_multiply<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator *= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_multiply<T,U>::type t(first.get() * second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator /= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_divide_same<T>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_divide<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator /= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_divide<T,U>::type t(first.get() / second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator %= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_modulo_same<T>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_modulo<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator %= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_modulo<T,U>::type t(first.get() % second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator += (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_add_same<T>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_add<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator += (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_add<T,U>::type t(first.get() + second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator -= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_subtract_same<T>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_subtract<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator -= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_subtract<T,U>::type t(first.get() - second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator <<= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_left_shift_same<T>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_left_shift<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator <<= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_left_shift<T,U>::type t(first.get() << second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator >>= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_right_shift_same<T>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_right_shift<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator >>= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_right_shift<T,U>::type t(first.get() >> second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator &= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_and_same<T>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U>
-typename boost::enable_if
-  <
-  typename detail::omf_assign_and<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator &= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_and<T,U>::type t(first.get() & second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator ^= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_xor_same<T>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_xor<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator ^= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_xor<T,U>::type t(first.get() ^ second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or_same<T>::type,
-  i_property_read_write<T> &
-  >::type
-operator |= (i_property_read_write<T> & first,T second)
-  {
-  
-  typename detail::binary_ro_or_same<T>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-  
-template <class T,class U> 
-typename boost::enable_if
-  <
-  typename detail::omf_assign_or<T,U>::type,
-  i_property_read_write<T> &
-  >::type
-operator |= (i_property_read_write<T> & first,U second)
-  {
-  
-  typename detail::binary_ro_or<T,U>::type t(first.get() | second);
-  
-  first.set(static_cast<T>(t));
-  return(first);
-  }
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyOperatorsDetail.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyOperatorsDetail.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,255 +0,0 @@
-#if !defined(PROPERTY_OPERATORS_DETAIL_HPP)
-#define PROPERTY_OPERATORS_DETAIL_HPP
-
-#include <boost/typeof/typeof.hpp>
-
-namespace properties
-{
-
-  namespace detail
-  {
-  
-  template <class T>
-  struct unary_ro_plus
-    {
-    typedef BOOST_TYPEOF_TPL(+T()) type;
-    };
-  
-  template <class T>
-  struct unary_ro_minus
-    {
-    typedef BOOST_TYPEOF_TPL(-T()) type;
-    };
-  
-  template <class T>
-  struct unary_ro_negate
-    {
-    typedef BOOST_TYPEOF_TPL(~T()) type;
-    };
-  
-  template <class T>
-  struct unary_ro_not
-    {
-    typedef BOOST_TYPEOF_TPL(!T()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_multiply
-    {
-    typedef BOOST_TYPEOF_TPL(T() * U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_divide
-    {
-    typedef BOOST_TYPEOF_TPL(T() / U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_modulo
-    {
-    typedef BOOST_TYPEOF_TPL(T() % U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_add
-    {
-    typedef BOOST_TYPEOF_TPL(T() + U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_subtract
-    {
-    typedef BOOST_TYPEOF_TPL(T() - U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_left_shift
-    {
-    typedef BOOST_TYPEOF_TPL(T() << U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_right_shift
-    {
-    typedef BOOST_TYPEOF_TPL(T() >> U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_and
-    {
-    typedef BOOST_TYPEOF_TPL(T() & U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_or
-    {
-    typedef BOOST_TYPEOF_TPL(T() | U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_xor
-    {
-    typedef BOOST_TYPEOF_TPL(T() ^ U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_greater
-    {
-    typedef BOOST_TYPEOF_TPL(T() > U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_less
-    {
-    typedef BOOST_TYPEOF_TPL(T() < U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_greater_or_equal
-    {
-    typedef BOOST_TYPEOF_TPL(T() >= U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_less_or_equal
-    {
-    typedef BOOST_TYPEOF_TPL(T() <= U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_equal
-    {
-    typedef BOOST_TYPEOF_TPL(T() == U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_not_equal
-    {
-    typedef BOOST_TYPEOF_TPL(T() != U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_logical_and
-    {
-    typedef BOOST_TYPEOF_TPL(T() && U()) type;
-    };
-  
-  template <class T,class U>
-  struct binary_ro_logical_or
-    {
-    typedef BOOST_TYPEOF_TPL(T() || U()) type;
-    };
-  
-  template <class T>
-  struct binary_ro_multiply_same
-    {
-    typedef typename binary_ro_multiply<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_divide_same
-    {
-    typedef typename binary_ro_divide<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_modulo_same
-    {
-    typedef typename binary_ro_modulo<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_add_same
-    {
-    typedef typename binary_ro_add<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_subtract_same
-    {
-    typedef typename binary_ro_subtract<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_left_shift_same
-    {
-    typedef typename binary_ro_left_shift<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_right_shift_same
-    {
-    typedef typename binary_ro_right_shift<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_and_same
-    {
-    typedef typename binary_ro_and<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_or_same
-    {
-    typedef typename binary_ro_or<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_xor_same
-    {
-    typedef typename binary_ro_xor<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_greater_same
-    {
-    typedef typename binary_ro_greater<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_less_same
-    {
-    typedef typename binary_ro_less<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_greater_or_equal_same
-    {
-    typedef typename binary_ro_greater_or_equal<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_less_or_equal_same
-    {
-    typedef typename binary_ro_less_or_equal<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_equal_same
-    {
-    typedef typename binary_ro_equal<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_not_equal_same
-    {
-    typedef typename binary_ro_not_equal<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_logical_and_same
-    {
-    typedef typename binary_ro_logical_and<T,T>::type type;
-    };
-  
-  template <class T>
-  struct binary_ro_logical_or_same
-    {
-    typedef typename binary_ro_logical_or<T,T>::type type;
-    };
-  
-  }
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyOperatorsEnabling.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyOperatorsEnabling.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,478 +0,0 @@
-#if !defined(PROPERTY_OPERATORS_ENABLING_HPP)
-#define PROPERTY_OPERATORS_ENABLING_HPP
-
-#include "PropertyInterface.h"
-#include "PropertyOperatorsDetail.h"
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace properties
-{
-
-  namespace detail
-  {
-
-  // Arithmetic, pointer, not bool
-
-  template <class T> 
-  struct omf_increment
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_pointer<T>,
-      boost::mpl::and_
-        <
-        boost::mpl::not_
-          <
-          boost::is_same<T,bool>
-          >,
-        boost::is_arithmetic<T>
-        >
-      > type;
-    };
-  
-  // Arithmetic, pointer, not bool
-
-  template <class T> 
-  struct omf_decrement
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_pointer<T>,
-      boost::mpl::and_
-        <
-        boost::mpl::not_
-          <
-          boost::is_same<T,bool>
-          >,
-        boost::is_arithmetic<T>
-        >
-      > type;
-    };
-  
-  // Arithmetic, pointer, not bool
-
-  template <class T> 
-  struct omf_post_increment
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_pointer<T>,
-      boost::mpl::and_
-        <
-        boost::mpl::not_
-          <
-          boost::is_same<T,bool>
-          >,
-        boost::is_arithmetic<T>
-        >
-      > type;
-    };
-  
-  // Arithmetic, pointer, not bool
-
-  template <class T> 
-  struct omf_post_decrement
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_pointer<T>,
-      boost::mpl::and_
-        <
-        boost::mpl::not_
-          <
-          boost::is_same<T,bool>
-          >,
-        boost::is_arithmetic<T>
-        >
-      > type;
-    };
-  
-  // Arithmetic, enumeration
-
-  template <class T> 
-  struct omf_assign_multiply_same 
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_arithmetic<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Arithmetic, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_multiply
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_arithmetic<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_arithmetic<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Arithmetic, enumeration
-
-  template <class T> 
-  struct omf_assign_divide_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_arithmetic<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Arithmetic, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_divide
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_arithmetic<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_arithmetic<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_modulo_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_modulo
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  /* Both - arithmetic, enumeration 
-      or 
-     One - pointer, other integral, enumeration
-  */
-
-  template <class T> 
-  struct omf_assign_add_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_arithmetic<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  /* Both - arithmetic, enumeration 
-      or 
-     One - pointer, other integral, enumeration
-  */
-
-  template <class T,class U> 
-  struct omf_assign_add
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::mpl::and_
-        <
-        boost::mpl::or_
-          <
-          boost::is_arithmetic<T>,
-          boost::is_enum<T>
-          >,
-        boost::mpl::or_
-          <
-          boost::is_arithmetic<U>,
-          boost::is_enum<U>,
-          boost::is_convertible<U,T>
-          >
-        >,
-      boost::mpl::and_
-        <
-        boost::is_pointer<T>,
-        boost::mpl::or_
-          <
-          boost::is_integral<U>,
-          boost::is_enum<U>
-          >
-        >
-      > type;
-    };
-  
-  /* Both - arithmetic, enumeration 
-      or 
-     Both - pointers 
-      or
-     Left - pointer, other intergral, enumeration
-  */
-
-  template <class T> 
-  struct omf_assign_subtract_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_arithmetic<T>,
-      boost::is_enum<T>,
-      boost::is_pointer<T>
-      > type;
-    };
-  
-  /* Both - arithmetic, enumeration 
-      or 
-     Both - pointers 
-      or
-     Left - pointer, other intergral, enumeration
-  */
-
-  template <class T,class U> 
-  struct omf_assign_subtract
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::mpl::and_
-        <
-        boost::mpl::or_
-          <
-          boost::is_arithmetic<T>,
-          boost::is_enum<T>
-          >,
-        boost::mpl::or_
-          <
-          boost::is_arithmetic<U>,
-          boost::is_enum<U>,
-          boost::is_convertible<U,T>
-          >
-        >,
-      boost::mpl::and_
-        <
-        boost::is_pointer<T>,
-        boost::is_pointer<U>,
-        boost::is_same
-          <
-          typename boost::remove_pointer<typename boost::remove_cv<T>::type>::type,
-          typename boost::remove_pointer<typename boost::remove_cv<U>::type>::type
-          >
-        >,
-      boost::mpl::and_
-        <
-        boost::is_pointer<T>,
-        boost::mpl::or_
-          <
-          boost::is_integral<U>,
-          boost::is_enum<U>
-          >
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_left_shift_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_left_shift
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_right_shift_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_right_shift
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_and_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_and
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_xor_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_xor
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T> 
-  struct omf_assign_or_same
-    {
-    typedef typename boost::mpl::or_
-      <
-      boost::is_integral<T>,
-      boost::is_enum<T>
-      > type;
-    };
-  
-  // Integral, enumeration
-
-  template <class T,class U> 
-  struct omf_assign_or
-    {
-    typedef typename boost::mpl::and_
-      <
-      boost::mpl::or_
-        <
-        boost::is_integral<T>,
-        boost::is_enum<T>
-        >,
-      boost::mpl::or_
-        <
-        boost::is_integral<U>,
-        boost::is_enum<U>,
-        boost::is_convertible<U,T>
-        >
-      > type;
-    };
-  }
-  
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyPredicateFailureRuntimeException.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyPredicateFailureRuntimeException.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-#if !defined(PROPERTY_PREDICATE_FAILURE_RUNTIME_EXCEPTION_HPP)
-#define PROPERTY_PREDICATE_FAILURE_RUNTIME_EXCEPTION_HPP
-
-#include <boost/optional.hpp>
-#include <boost/function.hpp>
-#include "PropertyInterface.h"
-#include <stdexcept>
-#include <sstream>
-
-namespace properties
-{
-
-  template <class T> class predicate_failure_runtime_exception
-    {
-    
-    protected:
-      
-    void PredicateFailure(const i_property_write<T> & prop,const boost::function<bool (T)> & f,boost::optional<T> oldValue,T newValue)
-      {
-      
-      std::ostringstream oss;
-      
-      oss << "Error trying to update a writeable property with the value '" << newValue << "'.";
-            
-      throw std::runtime_error(oss.str());
-      }
-    
-    };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyReferenceInterface.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyReferenceInterface.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,23 +0,0 @@
-#if !defined(PROPERTY_REFERENCE_INTERFACE_HPP)
-#define PROPERTY_REFERENCE_INTERFACE_HPP
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-namespace properties
-{
-  
-  template <class T>
-  struct i_property_reference_read
-  {
-
-    BOOST_MPL_ASSERT_NOT((boost::is_reference<T>));
-    
-    virtual T const & get() const = 0;
-    virtual T & get() = 0;
-
-  };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/PropertyTag.hpp
==============================================================================
--- sandbox/property/boost/property/PropertyTag.hpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,14 +0,0 @@
-#if !defined(PROPERTY_TAG_HPP)
-#define PROPERTY_TAG_HPP
-
-namespace properties
-{
-
-  struct read_tag { };
-  struct write_tag { };
-  struct read_write_tag : public read_tag, public write_tag { };
-  template <class T> class default_policy_tag { };
-
-}
-
-#endif
Deleted: sandbox/property/boost/property/detail/PropertyIndexMapDetail.h
==============================================================================
--- sandbox/property/boost/property/detail/PropertyIndexMapDetail.h	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
+++ (empty file)
@@ -1,191 +0,0 @@
-#if !defined(PROPERTY_INDEX_MAP_DETAIL_HPP)
-#define PROPERTY_INDEX_MAP_DETAIL_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/mpl/bool.hpp>
-#include <PropertyIndexInterface.h>
-
-namespace properties
-{
-  namespace detail
-  {
-
-    template <class PMAP>
-    struct PropertyIndexMapBaseTypedefs
-      {
-      typedef typename boost::property_traits<PMAP>::value_type value_type;
-      typedef typename boost::property_traits<PMAP>::key_type key_type;
-      typedef typename boost::property_traits<PMAP>::reference reference_type;
-      };
-    
-    template <class PMAP,class bref,class category>
-    struct PropertyIndexMapBase;
-
-    template <class PMAP,class bref>
-    struct PropertyIndexMapBase<PMAP,bref,boost::readable_property_map_tag> : 
-      i_property_index_read<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type>,
-      PropertyIndexMapBaseTypedefs<PMAP>
-      {
-      
-      PropertyIndexMapBase(PMAP & pm) : pmap(pm)
-        { 
-        }
-      
-      value_type get(key_type key) const
-        {
-        return(get(pmap,key));
-        }
-        
-      private:
-      
-      PMAP & pmap;
-        
-      };
-
-    template <class PMAP,class bref>
-    struct PropertyIndexMapBase<PMAP,bref,boost::writable_property_map_tag> : 
-      i_property_index_write<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type>,
-      PropertyIndexMapBaseTypedefs<PMAP>
-      {
-      
-      PropertyIndexMapBase(PMAP & pm) : pmap(pm)
-        { 
-        }
-      
-      void set(key_type key,value_type value)
-        {
-        put(pmap,key,value);
-        }
-      
-      private:
-      
-      PMAP & pmap;
-        
-      };
-
-    template <class PMAP,class bref>
-    struct PropertyIndexMapBase<PMAP,bref,boost::read_write_property_map_tag> : 
-      i_property_index_read<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type>,
-      i_property_index_write<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type>,
-      PropertyIndexMapBaseTypedefs<PMAP>
-      {
-      
-      PropertyIndexMapBase(PMAP & pm) : pmap(pm)
-        { 
-        }
-      
-      value_type get(key_type key) const
-        {
-        return(get(pmap,key));
-        }
-      
-      void set(key_type key,value_type value)
-        {
-        put(pmap,key,value);
-        }
-        
-      private:
-      
-      PMAP & pmap;
-        
-      };
-
-    template <class PMAP>
-    struct PropertyIndexMapBase<PMAP,boost::mpl::false_,boost::lvalue_property_map_tag> : 
-      i_property_index_read_write_lvalue<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type,typename boost::property_traits<PMAP>::reference>,
-      PropertyIndexMapBaseTypedefs<PMAP>
-      {
-      
-      PropertyIndexMapBase(PMAP & pm) : pmap(pm)
-        { 
-        }
-      
-      value_type get(key_type key) const
-        {
-        return(get(pmap,key));
-        }
-      
-      void set(key_type key,value_type value)
-        {
-        put(pmap,key,value);
-        }
-        
-      reference_type operator [] (key_type key)
-        {
-        return(pmap[key]);
-        }
-        
-      private:
-      
-      PMAP & pmap;
-        
-      };
-
-    template <class PMAP>
-    struct PropertyIndexMapBase<PMAP,boost::mpl::true_,boost::lvalue_property_map_tag> : 
-      i_property_index_read_immutable<typename boost::property_traits<PMAP>::value_type,typename boost::property_traits<PMAP>::key_type,typename boost::property_traits<PMAP>::reference>,
-      PropertyIndexMapBaseTypedefs<PMAP>
-      {
-      
-      PropertyIndexMapBase(PMAP & pm) : pmap(pm)
-        { 
-        }
-      
-      value_type get(key_type key) const
-        {
-        return(get(pmap,key));
-        }
-      
-      reference_type operator [] (key_type key) const
-        {
-        return(pmap[key]);
-        }
-        
-      private:
-      
-      PMAP & pmap;
-        
-      };
-
-    template <class PMAP>
-    struct PropertyIndexMapMakeBase
-      {
-      
-      typedef PropertyIndexMapBase
-              <
-              PMAP,
-              typename boost::mpl::if_
-                <
-                boost::mpl::and_
-                  <
-                  boost::is_reference
-                    <
-                    typename boost::property_traits<PMAP>::reference
-                    >,
-                  boost::mpl::not_
-                    <
-                    boost::is_const
-                      <
-                      typename boost::remove_reference<typename boost::property_traits<PMAP>::reference>::type
-                      >
-                    >
-                  >,
-                boost::mpl::false_,
-                boost::mpl::true_
-                >::type,
-              typename boost::property_traits<PMAP>::category
-              > 
-              type;
-      };
-  }
-}
-
-#endif
Added: sandbox/property/libs/property/test/test_auto_predicate_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_predicate_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_predicate_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_predicate_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_predicate_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_predicate_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_predicate_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_auto_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_auto_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_auto_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_callable_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_callable_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_callable_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_predicate_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_predicate_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_predicate_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_predicate_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_predicate_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_predicate_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_predicate_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_data_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_data_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_function_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_function_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_functor_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_functor_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_functor_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_predicate_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_predicate_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_predicate_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_predicate_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_predicate_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_predicate.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_data_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_data_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_reference.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_reference.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_reference.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_bool.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_bool.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_character.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_character.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_enum.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_enum.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_floating_point.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_integer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_integer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_pointer.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_pointer.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }
Added: sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp
==============================================================================
--- (empty file)
+++ sandbox/property/libs/property/test/test_member_function_value_user_defined.cpp	2011-05-01 18:04:30 EDT (Sun, 01 May 2011)
@@ -0,0 +1,9 @@
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/property/property_member_function_value.hpp>
+
+int main()
+  {
+  
+  return boost::report_errors();
+  
+  }