|
Alec Leamas |
da7ddb4 |
diff -Naur source_release_orig/adobe/any_iterator.hpp source_release/adobe/any_iterator.hpp
|
|
Alec Leamas |
da7ddb4 |
--- source_release_orig/adobe/any_iterator.hpp 2010-11-08 21:18:19.000000000 +0300
|
|
Alec Leamas |
da7ddb4 |
+++ source_release/adobe/any_iterator.hpp 2012-03-28 16:59:42.000000000 +0400
|
|
Alec Leamas |
da7ddb4 |
@@ -47,7 +47,10 @@
|
|
Alec Leamas |
da7ddb4 |
{
|
|
Alec Leamas |
da7ddb4 |
typedef typename optimized_storage_type<I, poly_iterator_interface<V, R, D> >::type base_t;
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+// this is too restrictive check; need to make appropriate one
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
BOOST_CLASS_REQUIRE(I, boost, ForwardIteratorConcept);
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
type(const I& x) : base_t (x)
|
|
Alec Leamas |
da7ddb4 |
{ }
|
|
Alec Leamas |
da7ddb4 |
@@ -133,7 +136,9 @@
|
|
Alec Leamas |
da7ddb4 |
{
|
|
Alec Leamas |
da7ddb4 |
typedef typename optimized_storage_type<I, any_bidirectional_iterator_interface<V, R, D> >::type base_t;
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
BOOST_CLASS_REQUIRE(I, boost, BidirectionalIteratorConcept);
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
type(const I& x)
|
|
Alec Leamas |
da7ddb4 |
: base_t(x) {}
|
|
Alec Leamas |
da7ddb4 |
@@ -235,7 +240,9 @@
|
|
Alec Leamas |
da7ddb4 |
{
|
|
Alec Leamas |
da7ddb4 |
typedef typename optimized_storage_type<I, any_random_access_iterator_interface<V, R, D> >::type base_t;
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
BOOST_CLASS_REQUIRE(I, boost, RandomAccessIteratorConcept);
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
type(const I& x)
|
|
Alec Leamas |
da7ddb4 |
: base_t(x) {}
|
|
Alec Leamas |
da7ddb4 |
diff -Naur source_release_orig/adobe/poly.hpp source_release/adobe/poly.hpp
|
|
Alec Leamas |
da7ddb4 |
--- source_release_orig/adobe/poly.hpp 2010-11-08 21:18:20.000000000 +0300
|
|
Alec Leamas |
da7ddb4 |
+++ source_release/adobe/poly.hpp 2012-03-28 17:01:40.000000000 +0400
|
|
Alec Leamas |
da7ddb4 |
@@ -70,8 +70,10 @@
|
|
Alec Leamas |
da7ddb4 |
virtual const void* cast() const = 0;
|
|
Alec Leamas |
da7ddb4 |
virtual const std::type_info& type_info() const = 0;
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
// Precondition of assignment: this->type_info() == x.type_info()
|
|
Alec Leamas |
da7ddb4 |
virtual void assign(const poly_copyable_interface& x) = 0;
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
// Precondition of exchange: this->type_info() == x.type_info()
|
|
Alec Leamas |
da7ddb4 |
virtual void exchange(poly_copyable_interface& x) = 0;
|
|
Alec Leamas |
da7ddb4 |
@@ -107,9 +109,11 @@
|
|
Alec Leamas |
da7ddb4 |
~poly_state_remote()
|
|
Alec Leamas |
da7ddb4 |
{ delete value_ptr_m; }
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
// Precondition : this->type_info() == x.type_info()
|
|
Alec Leamas |
da7ddb4 |
void assign(const poly_copyable_interface& x)
|
|
Alec Leamas |
da7ddb4 |
{ *value_ptr_m = *static_cast<const poly_state_remote&>(x).value_ptr_m; }
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
const std::type_info& type_info() const
|
|
Alec Leamas |
da7ddb4 |
{ return typeid(value_type); }
|
|
Alec Leamas |
da7ddb4 |
@@ -144,9 +148,11 @@
|
|
Alec Leamas |
da7ddb4 |
explicit poly_state_local(value_type x)
|
|
Alec Leamas |
da7ddb4 |
: value_m(adobe::move(x)) { }
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
// Precondition : this->type_info() == x.type_info()
|
|
Alec Leamas |
da7ddb4 |
void assign(const poly_copyable_interface& x)
|
|
Alec Leamas |
da7ddb4 |
{ value_m = static_cast<const poly_state_local&>(x).value_m; }
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
const std::type_info& type_info() const
|
|
Alec Leamas |
da7ddb4 |
{ return typeid(value_type); }
|
|
Alec Leamas |
da7ddb4 |
@@ -342,6 +348,7 @@
|
|
Alec Leamas |
da7ddb4 |
return true;
|
|
Alec Leamas |
da7ddb4 |
}
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
+#ifndef NO_ASL_AI_CONCEPT_CHECK
|
|
Alec Leamas |
da7ddb4 |
template <typename T> poly_base& assign(const T& x)
|
|
Alec Leamas |
da7ddb4 |
{
|
|
Alec Leamas |
da7ddb4 |
if (type_info() == typeid(T))
|
|
Alec Leamas |
da7ddb4 |
@@ -364,6 +371,7 @@
|
|
Alec Leamas |
da7ddb4 |
interface_ref().~interface_type();
|
|
Alec Leamas |
da7ddb4 |
x.interface_ref().clone(storage());
|
|
Alec Leamas |
da7ddb4 |
}
|
|
Alec Leamas |
da7ddb4 |
+#endif
|
|
Alec Leamas |
da7ddb4 |
|
|
Alec Leamas |
da7ddb4 |
const interface_type* operator->() const
|
|
Alec Leamas |
da7ddb4 |
{ return &interface_ref(); }
|