{
/////////////////////////////////////////////////////////////////////////
+ // Add / Sub
+ template <typename _Facade, typename _ValueType>
+ class add_sub_adapter :
+ public additional_adapter<_Facade, _ValueType>,
+ public subtractional_adapter<_Facade, _ValueType>
+ {};
+
+ ///////////////////////////////////////////////
+
+ template <typename _Facade, typename _ValueType>
+ class value_add_sub_adapter :
+ public value_additional_adapter<_Facade, _ValueType>,
+ public value_subtractional_adapter<_Facade, _ValueType>
+ {
+ public:
+ value_add_sub_adapter(_ValueType& value_ref) :
+ value_additional_adapter<_Facade, _ValueType>(value_ref),
+ value_subtractional_adapter<_Facade, _ValueType>(value_ref)
+ {}
+ };
+
+ /////////////////////////////////////////////////////////////////////////
+
+ // Multiply / Divide
+ template <typename _Facade, typename _ValueType>
+ class multiply_divide_adapter :
+ public multiplicational_adapter<_Facade, _ValueType>,
+ public divisional_adapter<_Facade, _ValueType>
+ {};
+
+ ///////////////////////////////////////////////
+
+ template <typename _Facade, typename _ValueType>
+ class value_multiply_divide_adapter :
+ public value_multiplicational_adapter<_Facade, _ValueType>,
+ public value_divisional_adapter<_Facade, _ValueType>
+ {
+ public:
+ value_multiply_divide_adapter(_ValueType& value_ref) :
+ value_multiplicational_adapter<_Facade, _ValueType>(value_ref),
+ value_divisional_adapter<_Facade, _ValueType>(value_ref)
+ {}
+ };
+
+ /////////////////////////////////////////////////////////////////////////
+
+ // Full Arithmetical
template <typename _Facade, typename _ValueType>
class full_arithmetical_adapter :
public incr_decr_adapter<_Facade>,
public divisional_adapter<_Facade, _ValueType>
{};
- /////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////
template <typename _Facade, typename _ValueType>
class value_full_arithmetical_adapter :