|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r61484 - in sandbox/itl: boost/itl boost/itl/detail boost/validate/laws boost/validate/loki_xt boost/validate/validater libs/itl/build/win32 libs/validate/doc libs/validate/doc/boostcon2010 libs/validate/example libs/validate/example/labat_single_
From: afojgo_at_[hidden]
Date: 2010-04-22 08:29:51
Author: jofaber
Date: 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
New Revision: 61484
URL: http://svn.boost.org/trac/boost/changeset/61484
Log:
Added presentation material about Boost.Alabaster. Some modifications for boost.validate.
Added:
sandbox/itl/libs/validate/doc/
sandbox/itl/libs/validate/doc/boostcon2010/
sandbox/itl/libs/validate/doc/boostcon2010/377px-Prussian_Fusiliers.jpg (contents, props changed)
sandbox/itl/libs/validate/doc/boostcon2010/Alabasterschale_Volterra_Italien.jpg (contents, props changed)
sandbox/itl/libs/validate/doc/boostcon2010/BoostAlabaster.pptx (contents, props changed)
sandbox/itl/libs/validate/doc/boostcon2010/Sisyphus_by_von_Stuck.jpg (contents, props changed)
sandbox/itl/libs/validate/doc/boostcon2010/~$BoostAlabaster.pptx (contents, props changed)
Text files modified:
sandbox/itl/boost/itl/continuous_interval.hpp | 9 +---
sandbox/itl/boost/itl/detail/design_config.hpp | 37 ++++++++++++++++------
sandbox/itl/boost/itl/discrete_interval.hpp | 12 +++----
sandbox/itl/boost/itl/interval.hpp | 51 ++++++++++++++++++++++++++++++-
sandbox/itl/boost/itl/interval_bounds.hpp | 34 +++++++++++++-------
sandbox/itl/boost/itl/interval_functions.hpp | 2
sandbox/itl/boost/validate/laws/monoid.hpp | 65 +++++++++------------------------------
sandbox/itl/boost/validate/loki_xt/TypelistGentor.h | 14 ++++----
sandbox/itl/boost/validate/validater/bit_collector_validater.hpp | 30 +++++++++---------
sandbox/itl/boost/validate/validater/collector_validater.hpp | 30 +++++++++---------
sandbox/itl/boost/validate/validater/itl_set_validater.hpp | 30 +++++++++---------
sandbox/itl/boost/validate/validater/law_validater.hpp | 4 +-
sandbox/itl/boost/validate/validater/partial_order_validater.hpp | 6 +-
sandbox/itl/boost/validate/validater/signed_quantifier_validater.hpp | 30 +++++++++---------
sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp | 26 ++++++++--------
sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp | 26 ++++++++--------
sandbox/itl/boost/validate/validater/unsigned_quantifier_validater.hpp | 18 +++++-----
sandbox/itl/libs/itl/build/win32/vc9_all.sln | 6 +++
sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp | 7 +--
sandbox/itl/libs/validate/example/vc9_validate_examples.sln | 6 +++
20 files changed, 243 insertions(+), 200 deletions(-)
Modified: sandbox/itl/boost/itl/continuous_interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/continuous_interval.hpp (original)
+++ sandbox/itl/boost/itl/continuous_interval.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -19,8 +19,6 @@
namespace boost{namespace itl
{
-typedef unsigned char bound_type; //JODO
-
template <class DomainT,
ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
class continuous_interval : public base_interval<DomainT,Compare>
@@ -41,8 +39,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO URG BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
- //JODO we must assert this via appropriate defaults for template parameters
+ BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
}
//NOTE: Compiler generated copy constructor is used
@@ -53,7 +50,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
+ BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
}
/** Interval from <tt>low</tt> to <tt>up</tt> with bounds <tt>bounds</tt> */
@@ -64,7 +61,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
+ BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
}
domain_type lower()const { return _lwb; }
Modified: sandbox/itl/boost/itl/detail/design_config.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/design_config.hpp (original)
+++ sandbox/itl/boost/itl/detail/design_config.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -15,6 +15,8 @@
#ifndef BOOST_ITL_DESIGN_CONFIG_HPP_JOFA_090214
#define BOOST_ITL_DESIGN_CONFIG_HPP_JOFA_090214
+//#define ITL_NEW_INTERVAL_IMPL
+
//------------------------------------------------------------------------------
// Auxiliary macros for denoting template signatures.
// Purpose:
@@ -24,10 +26,16 @@
// (4) Being able to check template template parameter variants against
// template type parameter variants.
-#define ITL_USE_COMPARE_TEMPLATE_TEMPLATE
-#define ITL_USE_COMBINE_TEMPLATE_TEMPLATE
-#define ITL_USE_SECTION_TEMPLATE_TEMPLATE
-#define ITL_USE_INTERVAL_TEMPLATE_TEMPLATE
+#ifdef ITL_NEW_INTERVAL_IMPL
+# define ITL_USE_COMPARE_TEMPLATE_TEMPLATE
+# define ITL_USE_COMBINE_TEMPLATE_TEMPLATE
+# define ITL_USE_SECTION_TEMPLATE_TEMPLATE
+#else
+# define ITL_USE_COMPARE_TEMPLATE_TEMPLATE
+# define ITL_USE_COMBINE_TEMPLATE_TEMPLATE
+# define ITL_USE_SECTION_TEMPLATE_TEMPLATE
+# define ITL_USE_INTERVAL_TEMPLATE_TEMPLATE
+#endif
//#define ITL_USE_COMPARE_TEMPLATE_TYPE
//#define ITL_USE_COMBINE_TEMPLATE_TYPE
@@ -82,7 +90,7 @@
# define ITL_INTERVAL2(itl_compare) template<class DomT2,itl_compare>class
# define ITL_INTERVAL_TYPE(itl_interval, domain_type, itl_compare) itl_interval<domain_type,itl_compare>
# define ITL_INTERVAL_INSTANCE(interval_instance,domain_type,itl_compare) interval_instance
-#else//ITL_USE_SECTION_TEMPLATE_TYPE
+#else//ITL_USE_INTERVAL_TEMPLATE_TYPE
# define ITL_INTERVAL(itl_compare) class
# define ITL_INTERVAL2(itl_compare) class
# define ITL_INTERVAL_TYPE(itl_interval, domain_type, itl_compare) itl_interval
@@ -91,17 +99,24 @@
//------------------------------------------------------------------------------
-#define ITL_INTERVAL_DEFAULT boost::itl::interval
//#define ITL_INTERVAL_DEFAULT itl::rightopen_interval
//#define ITL_INTERVAL_DEFAULT itl::continuous_interval
-//#define ITL_INTERVAL_DEFAULT itl::interval_type_of
+
+#ifdef NEW_INTERVAL_IMPL
+# define ITL_INTERVAL_DEFAULT itl::interval_type_of
+#else
+# define ITL_INTERVAL_DEFAULT boost::itl::interval
+#endif
//------------------------------------------------------------------------------
//JODO find proper solution here
-#define ITL_discrt_INTERVAL_DEF itl::interval
-#define ITL_contin_INTERVAL_DEF itl::interval
-//#define ITL_discrt_INTERVAL_DEF itl::discrete_interval
-//#define ITL_contin_INTERVAL_DEF itl::continuous_interval
+#ifdef NEW_INTERVAL_IMPL
+# define ITL_discrt_INTERVAL_DEF itl::discrete_interval
+# define ITL_contin_INTERVAL_DEF itl::continuous_interval
+#else
+# define ITL_discrt_INTERVAL_DEF itl::interval
+# define ITL_contin_INTERVAL_DEF itl::interval
+#endif
//------------------------------------------------------------------------------
#define ITL_ALLOC template<class>class
Modified: sandbox/itl/boost/itl/discrete_interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/discrete_interval.hpp (original)
+++ sandbox/itl/boost/itl/discrete_interval.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -20,8 +20,6 @@
namespace boost{namespace itl
{
-typedef unsigned char bound_type; //JODO
-
template <class DomainT,
ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
class discrete_interval : public base_interval<DomainT,Compare>
@@ -42,8 +40,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO URG BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
- //JODO we must assert this via appropriate defaults for template parameters
+ BOOST_STATIC_ASSERT((!itl::is_continuous<DomainT>::value)); //JODO
}
//NOTE: Compiler generated copy constructor is used
@@ -54,7 +51,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
+ BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value)); //JODO
}
/** Interval from <tt>low</tt> to <tt>up</tt> with bounds <tt>bounds</tt> */
@@ -65,7 +62,7 @@
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- //JODO BOOST_STATIC_ASSERT((itl::is_continuous<DomainT>::value));
+ JODO BOOST_STATIC_ASSERT((!itl::is_continuous<DomainT>::value));
}
domain_type lower()const { return _lwb; }
@@ -95,7 +92,8 @@
if(itl::is_empty(object))
return stream << "[)";
else
- return stream << "[" << object.lower() << "," << object.upper()<< ")";//JODO
+ return stream << left_bracket(object.bounds()) << object.lower()
+ << "," << object.upper()<< right_bracket(object.bounds());
}
Modified: sandbox/itl/boost/itl/interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval.hpp (original)
+++ sandbox/itl/boost/itl/interval.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -36,6 +36,52 @@
#include <boost/itl/interval_bounds.hpp>
#include <boost/itl/interval_functions.hpp>
+//JODO For the migration from old to new itl::intervals activate this code:
+//
+//#ifdef ITL_NEW_INTERVAL_IMPL
+//
+//#include <boost/itl/type_traits/interval_type_of.hpp>
+//#include <boost/itl/discrete_interval.hpp>
+//#include <boost/itl/continuous_interval.hpp>
+//
+//namespace boost{namespace itl
+//{
+//
+//template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
+//class interval
+//{
+//public:
+// typedef typename interval_type_of<DomainT,Compare>::type type;
+//
+// /** Closed interval <tt>[low,up]</tt> */
+// static type closed(const DomainT& low, const DomainT& up)
+// { return type(low, up, interval_bounds::closed()); }
+//
+// /** Rightopen interval <tt>[low,up)</tt> */
+// static type rightopen(const DomainT& low, const DomainT& up)
+// { return type(low, up, interval_bounds::right_open); }
+//
+// /** Leftopen interval <tt>(low,up]</tt> */
+// static type leftopen(const DomainT& low, const DomainT& up)
+// { return type(low, up, interval_bounds::left_open); }
+//
+// /** Open interval <tt>(low,up)</tt> */
+// static type open(const DomainT& low, const DomainT& up)
+// { return type(low, up, interval_bounds::open); }
+//
+//};
+//
+///// Comparison functor on intervals implementing an overlap free less
+//template <class IntervalT>
+//struct exclusive_less_than {
+// /** Operator <tt>operator()</tt> implements a strict weak ordering on intervals. */
+// bool operator()(const IntervalT& left, const IntervalT& right)const
+// { return exclusive_less(left, right); }
+//};
+//
+//}} // namespace itl boost
+//
+//#else //ITL_NEW_INTERVAL_IMPL
namespace boost{namespace itl
{
@@ -1124,8 +1170,9 @@
{ return 2; }
};
-
}} // namespace itl boost
-#endif
+//JODO interval migration #endif // ITL_NEW_INTERVAL_IMPL
+
+#endif // BOOST_ITL_INTERVAL_HPP_JOFA_000626
Modified: sandbox/itl/boost/itl/interval_bounds.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_bounds.hpp (original)
+++ sandbox/itl/boost/itl/interval_bounds.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -31,20 +31,30 @@
class interval_bounds
{
public:
+ BOOST_STATIC_CONSTANT(bound_type, _open = 0);
+ BOOST_STATIC_CONSTANT(bound_type, _leftopen = 1);
+ BOOST_STATIC_CONSTANT(bound_type, _rightopen = 2);
+ BOOST_STATIC_CONSTANT(bound_type, _closed = 3);
+
+ BOOST_STATIC_CONSTANT(bound_type, _right = 1);
+ BOOST_STATIC_CONSTANT(bound_type, _left = 2);
+ BOOST_STATIC_CONSTANT(bound_type, _all = 3);
+
+public:
interval_bounds():_bits(){}
explicit interval_bounds(bound_type bounds): _bits(bounds){}
- interval_bounds both ()const { return interval_bounds(_bits & 3); } //JODO literals
- interval_bounds left ()const { return interval_bounds(_bits & 2); }
- interval_bounds right()const { return interval_bounds(_bits & 1); }
- interval_bounds reverse_left ()const { return interval_bounds((~_bits>>1) & 1); }
- interval_bounds reverse_right()const { return interval_bounds((~_bits<<1) & 2); }
+ interval_bounds all ()const { return interval_bounds(_bits & _all ); }
+ interval_bounds left ()const { return interval_bounds(_bits & _left ); }
+ interval_bounds right()const { return interval_bounds(_bits & _right); }
+ interval_bounds reverse_left ()const { return interval_bounds((~_bits>>1) & _right); }
+ interval_bounds reverse_right()const { return interval_bounds((~_bits<<1) & _left ); }
bound_type bits()const{ return _bits; }
- static interval_bounds open() { return interval_bounds(0); } //JODO URG LITERALS
- static interval_bounds left_open() { return interval_bounds(1); }
- static interval_bounds right_open(){ return interval_bounds(2); }
- static interval_bounds closed() { return interval_bounds(3); }
+ static interval_bounds open() { return interval_bounds(_open); }
+ static interval_bounds left_open() { return interval_bounds(_leftopen); }
+ static interval_bounds right_open(){ return interval_bounds(_rightopen);}
+ static interval_bounds closed() { return interval_bounds(_closed); }
public:
bound_type _bits;
@@ -52,13 +62,13 @@
inline interval_bounds left(interval_bounds x1)
-{ return interval_bounds(x1._bits & 2); }
+{ return interval_bounds(x1._bits & interval_bounds::_left); }
inline interval_bounds right(interval_bounds x1)
-{ return interval_bounds(x1._bits & 1); }
+{ return interval_bounds(x1._bits & interval_bounds::_right); }
inline interval_bounds all(interval_bounds x1)
-{ return interval_bounds(x1._bits & 3); }
+{ return interval_bounds(x1._bits & interval_bounds::_all); }
inline bool operator == (const interval_bounds x1, const interval_bounds x2)
{ return x1._bits == x2._bits; }
Modified: sandbox/itl/boost/itl/interval_functions.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_functions.hpp (original)
+++ sandbox/itl/boost/itl/interval_functions.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -537,7 +537,7 @@
template<class IntervalT>
typename boost::enable_if<is_continuous_interval<IntervalT>,
typename IntervalT::size_type>::type
-size(IntervalT object) //JODO conficting with metafunction size<T>::type -> sizetype<T>::type
+size(IntervalT object)
{
return cardinality(object);
}
Modified: sandbox/itl/boost/validate/laws/monoid.hpp
==============================================================================
--- sandbox/itl/boost/validate/laws/monoid.hpp (original)
+++ sandbox/itl/boost/validate/laws/monoid.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -92,9 +92,9 @@
bool holds()
{
- this->template setOutputValue<lhs_sum>(this->template getInputValue<operand_a>() + this->template getInputValue<operand_b>());
- this->template setOutputValue<rhs_sum>(this->template getInputValue<operand_b>() + this->template getInputValue<operand_a>());
- return this->template getOutputValue<lhs_sum>() == this->template getOutputValue<rhs_sum>();
+ this->template setOutputValue<lhs_result>(this->template getInputValue<operand_a>() + this->template getInputValue<operand_b>());
+ this->template setOutputValue<rhs_result>(this->template getInputValue<operand_b>() + this->template getInputValue<operand_a>());
+ return this->template getOutputValue<lhs_result>() == this->template getOutputValue<rhs_result>();
}
bool debug_holds(){ return holds(); }
@@ -140,9 +140,9 @@
bool holds()
{
- this->template setOutputValue<lhs_sum>(this->template getInputValue<operand_a>() + this->template getInputValue<operand_b>());
- this->template setOutputValue<rhs_sum>(this->template getInputValue<operand_b>() + this->template getInputValue<operand_a>());
- return this->template getOutputValue<lhs_sum>() == this->template getOutputValue<rhs_sum>();
+ this->template setOutputValue<lhs_result>(this->template getInputValue<operand_a>() + this->template getInputValue<operand_b>());
+ this->template setOutputValue<rhs_result>(this->template getInputValue<operand_b>() + this->template getInputValue<operand_a>());
+ return this->template getOutputValue<lhs_result>() == this->template getOutputValue<rhs_result>();
}
bool debug_holds(){ return holds(); }
@@ -182,18 +182,6 @@
public:
- enum InputVarIndex { operand_a, operand_b };
- enum OutputVarIndex { lhs_result, rhs_result };
-
- void setOperand_a(const Type& inVal) { this->template setInputValue<operand_a>(inVal); }
-
- Type getLhsResult()const { return this->template getOutputValue<lhs_result>(); }
-
- size_t size()const
- {
- return value_size<Type>::apply(this->template getInputValue<operand_a>());
- }
-
bool holds()
{
Type lhs = this->template getInputValue<operand_a>();
@@ -231,18 +219,6 @@
public:
- enum InputVarIndex { operand_a, operand_b, operand_c };
- enum OutputVarIndex { lhs_sum, rhs_sum };
-
- void setOperand_a(const Type& inVal) { this->template setInputValue<operand_a>(inVal); }
- void setOperand_b(const Type& inVal) { this->template setInputValue<operand_b>(inVal); }
- void setOperand_c(const Type& inVal) { this->template setInputValue<operand_c>(inVal); }
- void setOperands(const Type& inVal_a, const Type& inVal_b, const Type& inVal_c)
- { this->template setInputValue<operand_b>(inVal_a); this->template setInputValue<operand_b>(inVal_b); this->template setInputValue<operand_b>(inVal_c); }
-
- Type getLhsSum()const { return this->template getOutputValue<lhs_sum>(); }
- Type getRhsSum()const { return this->template getOutputValue<rhs_sum>(); }
-
size_t size()const
{
return
@@ -262,8 +238,8 @@
Accumulator<Type>()(b_plus_c, this->template getInputValue<operand_c>());
Accumulator<Type>()(rsum, b_plus_c);
- this->template setOutputValue<lhs_sum>(lsum);
- this->template setOutputValue<rhs_sum>(rsum);
+ this->template setOutputValue<lhs_result>(lsum);
+ this->template setOutputValue<rhs_result>(rsum);
return Equality<Type>()(lsum, rsum);
}
@@ -290,8 +266,8 @@
Accumulator<Type>()(rsum, b_plus_c);
std::cout << "a o (b o c): " << rsum << std::endl;
- this->template setOutputValue<lhs_sum>(lsum);
- this->template setOutputValue<rhs_sum>(rsum);
+ this->template setOutputValue<lhs_result>(lsum);
+ this->template setOutputValue<rhs_result>(rsum);
return Equality<Type>()(lsum, rsum);
}
@@ -321,21 +297,10 @@
public:
- enum InputVarIndex { operand_a, operand_b };
- enum OutputVarIndex { lhs_sum, rhs_sum };
-
- void setOperand_a(const Type& inVal) { this->template setInputValue<operand_a>(inVal); }
- void setOperand_b(const Type& inVal) { this->template setInputValue<operand_b>(inVal); }
- void setOperands(const Type& inVal_a, const Type& inVal_b)
- { this->template setInputValue<operand_b>(inVal_a); this->template setInputValue<operand_b>(inVal_b); }
-
- Type getLhsSum()const { return this->template getOutputValue<lhs_sum>(); }
- Type getRhsSum()const { return this->template getOutputValue<rhs_sum>(); }
-
size_t size()const
{
return value_size<Type>::apply(this->template getInputValue<operand_a>())+
- value_size<Type>::apply(this->template getInputValue<operand_b>());
+ value_size<Type>::apply(this->template getInputValue<operand_b>());
}
bool holds()
@@ -345,8 +310,8 @@
Type rsum = this->template getInputValue<operand_b>();
rsum += this->template getInputValue<operand_a>();
- this->template setOutputValue<lhs_sum>(lsum);
- this->template setOutputValue<rhs_sum>(rsum);
+ this->template setOutputValue<lhs_result>(lsum);
+ this->template setOutputValue<rhs_result>(rsum);
return lsum == rsum;
}
@@ -366,8 +331,8 @@
rsum += this->template getInputValue<operand_a>();
std::cout << "b o a: " << rsum << std::endl;
- this->template setOutputValue<lhs_sum>(lsum);
- this->template setOutputValue<rhs_sum>(rsum);
+ this->template setOutputValue<lhs_result>(lsum);
+ this->template setOutputValue<rhs_result>(rsum);
return lsum == rsum;
}
Modified: sandbox/itl/boost/validate/loki_xt/TypelistGentor.h
==============================================================================
--- sandbox/itl/boost/validate/loki_xt/TypelistGentor.h (original)
+++ sandbox/itl/boost/validate/loki_xt/TypelistGentor.h 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -93,23 +93,23 @@
};
// --------------------------------------------------------------------
- // JODO Extension for Typelist:
- // class template MapType
- // MapType(F, Typelist<T1,...,Tn>) = Typelist<F<T1>,...,F<Tn> >
+ // Extension for Typelist:
+ // template class MapUnaryTemplate
+ // MapUnaryTemplate(F, Typelist<T1,...,Tn>) = Typelist<F<T1>,...,F<Tn> >
// --------------------------------------------------------------------
template<template<typename TypeT>class UnaryTemplate, typename Typelist>
- struct MapType;
+ struct MapUnaryTemplate;
template<template<typename TypeT>class UnaryTemplate>
- struct MapType<UnaryTemplate, NullType>
+ struct MapUnaryTemplate<UnaryTemplate, NullType>
{
typedef NullType Result;
};
template<template<typename TypeT>class UnaryTemplate, class Head, class Tail>
- struct MapType<UnaryTemplate, Typelist<Head, Tail> >
+ struct MapUnaryTemplate<UnaryTemplate, Typelist<Head, Tail> >
{
- typedef Typelist<UnaryTemplate<Head>, typename MapType<UnaryTemplate, Tail>::Result> Result;
+ typedef Typelist<UnaryTemplate<Head>, typename MapUnaryTemplate<UnaryTemplate, Tail>::Result> Result;
};
}
Modified: sandbox/itl/boost/validate/validater/bit_collector_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/bit_collector_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/bit_collector_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -79,27 +79,27 @@
{
switch(_lawChoice.some())
{
- case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_bit_add>, RandomGentor>;
- case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type, inplace_bit_add>, RandomGentor>;
- case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_bit_add>, RandomGentor>;
- case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_bit_and>, RandomGentor>;
- case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_bit_and>, RandomGentor>;
- case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type, inplace_bit_add, inplace_bit_subtract, inplace_bit_and>, RandomGentor>;
- case inplaceFlip: return new LawValidater<InplaceFlip<Type>, RandomGentor>;
+ case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_bit_add> >;
+ case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type, inplace_bit_add> >;
+ case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_bit_add> >;
+ case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_bit_and> >;
+ case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_bit_and> >;
+ case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type, inplace_bit_add, inplace_bit_subtract, inplace_bit_and> >;
+ case inplaceFlip: return new LawValidater<InplaceFlip<Type> >;
case inplaceEtDistributivity:
if(itl::is_interval_splitter<Type>::value && absorbs_neutrons<Type>::value && !is_total<Type>::value)
- return new LawValidater<InplaceDistributivity<Type, inplace_bit_and, inplace_bit_add, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDistributivity<Type, inplace_bit_and, inplace_bit_add, std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDistributivity<Type, inplace_bit_and, inplace_bit_add, element_equal> >;
+ else return new LawValidater<InplaceDistributivity<Type, inplace_bit_and, inplace_bit_add, std_equal> >;
case inplacePlusDashRightDistrib:
if(itl::is_interval_splitter<Type>::value && absorbs_neutrons<Type>::value && !is_total<Type>::value)
- return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_add, inplace_bit_subtract, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_add, inplace_bit_subtract, std_equal>, RandomGentor>;
- case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_and, inplace_bit_subtract>, RandomGentor>;
- case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_bit_add, inplace_bit_and, inplace_bit_subtract, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_add, inplace_bit_subtract, element_equal> >;
+ else return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_add, inplace_bit_subtract, std_equal> >;
+ case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_bit_and, inplace_bit_subtract> >;
+ case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_bit_add, inplace_bit_and, inplace_bit_subtract, itl::std_equal> >;
case inplaceEtDeMorgan:
if(itl::is_interval_splitter<Type>::value || itl::is_interval_separator<Type>::value)
- return new LawValidater<InplaceDeMorgan<Type, inplace_bit_and, inplace_bit_add, inplace_bit_subtract, itl::element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDeMorgan<Type, inplace_bit_and, inplace_bit_add, inplace_bit_subtract, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDeMorgan<Type, inplace_bit_and, inplace_bit_add, inplace_bit_subtract, itl::element_equal> >;
+ else return new LawValidater<InplaceDeMorgan<Type, inplace_bit_and, inplace_bit_add, inplace_bit_subtract, itl::std_equal> >;
default: return NULL;
}
Modified: sandbox/itl/boost/validate/validater/collector_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/collector_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/collector_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -84,27 +84,27 @@
{
switch(_lawChoice.some())
{
- case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus>, RandomGentor>;
- case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type>, RandomGentor>;
- case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type>, RandomGentor>;
- case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et>, RandomGentor>;
- case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et>, RandomGentor>;
- case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type>, RandomGentor>;
- case inplaceFlip: return new LawValidater<InplaceFlip<Type>, RandomGentor>;
+ case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus> >;
+ case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type> >;
+ case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type> >;
+ case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et> >;
+ case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et> >;
+ case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type> >;
+ case inplaceFlip: return new LawValidater<InplaceFlip<Type> >;
case inplaceEtDistributivity:
if(itl::is_interval_splitter<Type>::value && absorbs_neutrons<Type>::value && !is_total<Type>::value)
- return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, element_equal> >;
+ else return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, std_equal> >;
case inplacePlusDashRightDistrib:
if(itl::is_interval_splitter<Type>::value && absorbs_neutrons<Type>::value && !is_total<Type>::value)
- return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, std_equal>, RandomGentor>;
- case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_et, inplace_minus>, RandomGentor>;
- case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_plus, inplace_et, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, element_equal> >;
+ else return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, std_equal> >;
+ case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_et, inplace_minus> >;
+ case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_plus, inplace_et, itl::std_equal> >;
case inplaceEtDeMorgan:
if(itl::is_interval_splitter<Type>::value || itl::is_interval_separator<Type>::value)
- return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::element_equal> >;
+ else return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::std_equal> >;
default: return NULL;
}
Modified: sandbox/itl/boost/validate/validater/itl_set_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/itl_set_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/itl_set_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -86,27 +86,27 @@
{
switch(_lawChoice.some())
{
- case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus>, RandomGentor>;
- case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type>, RandomGentor>;
- case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type>, RandomGentor>;
- case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et>, RandomGentor>;
- case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et>, RandomGentor>;
- case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type>, RandomGentor>;
- case inplaceFlip: return new LawValidater<InplaceFlip<Type>, RandomGentor>;
+ case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus> >;
+ case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type> >;
+ case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type> >;
+ case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et> >;
+ case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et> >;
+ case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type> >;
+ case inplaceFlip: return new LawValidater<InplaceFlip<Type> >;
case inplaceEtDistributivity:
if(itl::is_interval_splitter<Type>::value)
- return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, element_equal> >;
+ else return new LawValidater<InplaceDistributivity<Type, inplace_et, inplace_plus, std_equal> >;
case inplacePlusDashRightDistrib:
if(itl::is_interval_splitter<Type>::value)
- return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, std_equal>, RandomGentor>;
- case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_et, inplace_minus>, RandomGentor>;
- case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_plus, inplace_et, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, element_equal> >;
+ else return new LawValidater<InplaceRightDistributivity<Type, inplace_plus, inplace_minus, std_equal> >;
+ case inplaceEtDashRightDistrib: return new LawValidater<InplaceRightDistributivity<Type, inplace_et, inplace_minus> >;
+ case inplacePlusDeMorgan: return new LawValidater<InplaceDeMorgan<Type, inplace_plus, inplace_et, itl::std_equal> >;
case inplaceEtDeMorgan:
if(itl::is_interval_splitter<Type>::value || itl::is_interval_separator<Type>::value)
- return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::element_equal>, RandomGentor>;
- else return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::std_equal>, RandomGentor>;
+ return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::element_equal> >;
+ else return new LawValidater<InplaceDeMorgan<Type, inplace_et, inplace_plus, itl::std_equal> >;
default: return NULL;
}
Modified: sandbox/itl/boost/validate/validater/law_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/law_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/law_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -56,7 +56,7 @@
for a given law \c LawT and a generator template, that
produces a matching generator of input variables for the law.
*/
- template <class LawT, template<typename>class GentorT>
+ template <class LawT, template<typename>class GentorT = RandomGentor>
class LawValidater : public LawValidaterI
{
public:
@@ -65,7 +65,7 @@
typedef typename LawT::input_tuple input_tuple; // The tuple type for input variables of the law
typedef typename LawT::output_tuple output_tuple; // The tuple type for input variables of the law
- typedef typename Loki::TL::MapType<GentorT, input_types>::Result gentor_types;
+ typedef typename Loki::TL::MapUnaryTemplate<GentorT, input_types>::Result gentor_types;
typedef typename Loki::tuple<gentor_types> input_gentor;
public:
Modified: sandbox/itl/boost/validate/validater/partial_order_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/partial_order_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/partial_order_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -51,9 +51,9 @@
{
switch(_lawChoice.some())
{
- case transitivity: return new LawValidater<Transitivity<Type, Relation>, RandomGentor>;
- case antisymmetry: return new LawValidater<Antisymmetry<Type, Relation, Equality>, RandomGentor>;
- case reflexivity: return new LawValidater<Reflexivity <Type, Relation>, RandomGentor>;
+ case transitivity: return new LawValidater<Transitivity<Type, Relation> >;
+ case antisymmetry: return new LawValidater<Antisymmetry<Type, Relation, Equality> >;
+ case reflexivity: return new LawValidater<Reflexivity <Type, Relation> >;
default: return NULL;
}
}
Modified: sandbox/itl/boost/validate/validater/signed_quantifier_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/signed_quantifier_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/signed_quantifier_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -94,29 +94,29 @@
{
case inplacePlusAssociativity:
if(is_interval_splitter<Type>::value)
- return new LawValidater<InplaceAssociativity<Type, inplace_plus, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceAssociativity<Type, inplace_plus, std_equal>, RandomGentor>;
- case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type>, RandomGentor>;
- case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type>, RandomGentor>;
+ return new LawValidater<InplaceAssociativity<Type, inplace_plus, element_equal> >;
+ else return new LawValidater<InplaceAssociativity<Type, inplace_plus, std_equal> >;
+ case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type> >;
+ case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type> >;
case inplaceEtAssociativity:
if(absorbs_neutrons<Type>::value && is_total<Type>::value)
- return new LawValidater<InplaceAssociativity<Type, inplace_et, element_equal>, RandomGentor>;
- else return new LawValidater<InplaceAssociativity<Type, inplace_et>, RandomGentor>;
- case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et>, RandomGentor>;
+ return new LawValidater<InplaceAssociativity<Type, inplace_et, element_equal> >;
+ else return new LawValidater<InplaceAssociativity<Type, inplace_et> >;
+ case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et> >;
case inplaceNaturalInversion:
if(absorbs_neutrons<Type>::value)
- return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, std_equal>, RandomGentor>;
- else return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, protonic_equal>, RandomGentor>;
- case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type>, RandomGentor>;
- case inplaceFlip: return new LawValidater<InplaceFlip<Type>, RandomGentor>;
+ return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, std_equal> >;
+ else return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, protonic_equal> >;
+ case inplaceSymmetricDifference:return new LawValidater<InplaceSymmetricDifference<Type> >;
+ case inplaceFlip: return new LawValidater<InplaceFlip<Type> >;
case sectionAbsorbtion:
if(absorbs_neutrons<Type>::value)
- return new LawValidater<SectionAbsorbtion<Type,std_equal>, RandomGentor>;
- else return new LawValidater<SectionAbsorbtion<Type,protonic_equal>, RandomGentor>;
+ return new LawValidater<SectionAbsorbtion<Type,std_equal> >;
+ else return new LawValidater<SectionAbsorbtion<Type,protonic_equal> >;
case inplaceInverseExistence:
if(absorbs_neutrons<Type>::value)
- return new LawValidater<InplaceInverseExistence<Type, inplace_plus, std_equal>, RandomGentor>;
- else return new LawValidater<InplaceInverseExistence<Type, inplace_plus, protonic_equal>, RandomGentor>;
+ return new LawValidater<InplaceInverseExistence<Type, inplace_plus, std_equal> >;
+ else return new LawValidater<InplaceInverseExistence<Type, inplace_plus, protonic_equal> >;
default: return NULL;
}
}
Modified: sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -89,19 +89,19 @@
{
switch(_lawChoice.some())
{
- case copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_back >, RandomGentor>;
- case copy_backward : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_backward_back >, RandomGentor>;
- case reverse_copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_reverse_copy_back >, RandomGentor>;
- case equal : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_equals_back >, RandomGentor>;
- case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_lexicographical_compare_back >, RandomGentor>;
- case includes : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_includes_back >, RandomGentor>;
- case set_union : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_union_back >, RandomGentor>;
- case set_difference : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_difference_back >, RandomGentor>;
- case set_intersection : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_intersection_back >, RandomGentor>;
- case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_symmetric_difference_back >, RandomGentor>;
- case find : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_find_back >, RandomGentor>;
- case lower_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_lower_bound_back >, RandomGentor>;
- case upper_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_upper_bound_back >, RandomGentor>;
+ case copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_back > >;
+ case copy_backward : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_backward_back > >;
+ case reverse_copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_reverse_copy_back > >;
+ case equal : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_equals_back > >;
+ case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_lexicographical_compare_back > >;
+ case includes : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_includes_back > >;
+ case set_union : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_union_back > >;
+ case set_difference : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_difference_back > >;
+ case set_intersection : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_intersection_back > >;
+ case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_symmetric_difference_back > >;
+ case find : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_find_back > >;
+ case lower_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_lower_bound_back > >;
+ case upper_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_upper_bound_back > >;
default: return NULL;
}
}
Modified: sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -91,19 +91,19 @@
{
switch(_lawChoice.some())
{
- case copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy >, RandomGentor>;
- case copy_backward : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_backward >, RandomGentor>;
- case reverse_copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_reverse_copy >, RandomGentor>;
- case equal : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_equals >, RandomGentor>;
- case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_lexicographical_compare >, RandomGentor>;
- case includes : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_includes >, RandomGentor>;
- case set_union : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_union >, RandomGentor>;
- case set_difference : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_difference >, RandomGentor>;
- case set_intersection : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_intersection >, RandomGentor>;
- case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_symmetric_difference >, RandomGentor>;
- case find : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_find >, RandomGentor>;
- case lower_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_lower_bound >, RandomGentor>;
- case upper_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_upper_bound >, RandomGentor>;
+ case copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy > >;
+ case copy_backward : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_copy_backward > >;
+ case reverse_copy : return new LawValidater< UnaryAtomicEquivalence <Type, TargetT, std_reverse_copy > >;
+ case equal : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_equals > >;
+ case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_lexicographical_compare > >;
+ case includes : return new LawValidater<BinaryAtomicEquivalence <Type, bool, std_includes > >;
+ case set_union : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_union > >;
+ case set_difference : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_difference > >;
+ case set_intersection : return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_intersection > >;
+ case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence <Type, TargetT, std_set_symmetric_difference > >;
+ case find : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_find > >;
+ case lower_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_lower_bound > >;
+ case upper_bound : return new LawValidater< UnaryAtomicEquivalence2<Type, element_type, std_upper_bound > >;
default: return NULL;
}
}
Modified: sandbox/itl/boost/validate/validater/unsigned_quantifier_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/unsigned_quantifier_validater.hpp (original)
+++ sandbox/itl/boost/validate/validater/unsigned_quantifier_validater.hpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -71,19 +71,19 @@
{
switch(_lawChoice.some())
{
- case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus>, RandomGentor>;
- case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type>, RandomGentor>;
- case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type>, RandomGentor>;
- case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et>, RandomGentor>;
- case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et>, RandomGentor>;
+ case inplacePlusAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_plus> >;
+ case inplacePlusNeutrality: return new LawValidater<InplaceNeutrality <Type> >;
+ case inplacePlusCommutativity: return new LawValidater<InplaceCommutativity<Type> >;
+ case inplaceEtAssociativity: return new LawValidater<InplaceAssociativity<Type, inplace_et> >;
+ case inplaceEtCommutativity: return new LawValidater<InplaceCommutativity<Type, inplace_et> >;
case inplaceNaturalInversion:
if(absorbs_neutrons<Type>::value)
- return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, std_equal>, RandomGentor>;
- else return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, protonic_equal>, RandomGentor>;
+ return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, std_equal> >;
+ else return new LawValidater<InplaceNaturalInversion<Type, inplace_plus, protonic_equal> >;
case sectionAbsorbtion:
if(absorbs_neutrons<Type>::value)
- return new LawValidater<SectionAbsorbtion<Type,std_equal>, RandomGentor>;
- else return new LawValidater<SectionAbsorbtion<Type,protonic_equal>, RandomGentor>;
+ return new LawValidater<SectionAbsorbtion<Type,std_equal> >;
+ else return new LawValidater<SectionAbsorbtion<Type,protonic_equal> >;
default: return NULL;
}
}
Modified: sandbox/itl/libs/itl/build/win32/vc9_all.sln
==============================================================================
--- sandbox/itl/libs/itl/build/win32/vc9_all.sln (original)
+++ sandbox/itl/libs/itl/build/win32/vc9_all.sln 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -147,6 +147,8 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_itv_bitset", "..\..\..\validate\example\labat_itv_bitset_\vc9_labat_itv_bitset.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F472B}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_continuous_interval", "..\..\test\test_continuous_interval_\vc9_test_continuous_interval.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D2B9F8C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -445,6 +447,10 @@
{BF42574F-66E2-42DD-90D9-3A8FCE6F472B}.Debug|Win32.Build.0 = Debug|Win32
{BF42574F-66E2-42DD-90D9-3A8FCE6F472B}.Release|Win32.ActiveCfg = Release|Win32
{BF42574F-66E2-42DD-90D9-3A8FCE6F472B}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2B9F8C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2B9F8C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2B9F8C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2B9F8C}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Added: sandbox/itl/libs/validate/doc/boostcon2010/377px-Prussian_Fusiliers.jpg
==============================================================================
Binary file. No diff available.
Added: sandbox/itl/libs/validate/doc/boostcon2010/Alabasterschale_Volterra_Italien.jpg
==============================================================================
Binary file. No diff available.
Added: sandbox/itl/libs/validate/doc/boostcon2010/BoostAlabaster.pptx
==============================================================================
Binary file. No diff available.
Added: sandbox/itl/libs/validate/doc/boostcon2010/Sisyphus_by_von_Stuck.jpg
==============================================================================
Binary file. No diff available.
Added: sandbox/itl/libs/validate/doc/boostcon2010/~$BoostAlabaster.pptx
==============================================================================
Binary file. No diff available.
Modified: sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp
==============================================================================
--- sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp (original)
+++ sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -70,13 +70,12 @@
// <interval_map<int,int,partial_enricher>, itl::inplace_plus, itl::inplace_minus> TestLawT;
//LawValidater<TestLawT, RandomGentor> test_law;
- typedef InplaceCommutativity
- <separate_interval_set<double> > TestLawT;
- LawValidater<TestLawT, RandomGentor> test_law;
+ typedef InplaceCommutativity<itl::list<double> > TestLawT;
+ LawValidater<TestLawT> test_law;
//-----------------------------------------------------------------------------
- int test_count = 100000;
+ int test_count = 10000;
ptime start, stop;
GentorProfileSgl::it()->set_std_profile(8,1);
Modified: sandbox/itl/libs/validate/example/vc9_validate_examples.sln
==============================================================================
--- sandbox/itl/libs/validate/example/vc9_validate_examples.sln (original)
+++ sandbox/itl/libs/validate/example/vc9_validate_examples.sln 2010-04-22 08:29:49 EDT (Thu, 22 Apr 2010)
@@ -39,6 +39,8 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_set_order", "labat_set_order_\vc9_labat_set_order.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4728}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_collector", "labat_collector_\vc9_labat_collector.vcproj", "{9EF72937-0585-487D-B887-5359BFA569E8}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -121,6 +123,10 @@
{BF42574F-66E2-42DD-90D9-3A8FCE6F4728}.Debug|Win32.Build.0 = Debug|Win32
{BF42574F-66E2-42DD-90D9-3A8FCE6F4728}.Release|Win32.ActiveCfg = Release|Win32
{BF42574F-66E2-42DD-90D9-3A8FCE6F4728}.Release|Win32.Build.0 = Release|Win32
+ {9EF72937-0585-487D-B887-5359BFA569E8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9EF72937-0585-487D-B887-5359BFA569E8}.Debug|Win32.Build.0 = Debug|Win32
+ {9EF72937-0585-487D-B887-5359BFA569E8}.Release|Win32.ActiveCfg = Release|Win32
+ {9EF72937-0585-487D-B887-5359BFA569E8}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
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