Boost logo

Boost-Commit :

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();
+
+ }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk