11#ifndef ADOBE_POLY_REGULAR_HPP
12#define ADOBE_POLY_REGULAR_HPP
16#include <boost/concept_check.hpp>
70 return this->type_info() == x.
type_info() &&
71 this->get() == *
static_cast<const T*
>(x.
cast());
103#if !defined(ADOBE_NO_DOCUMENTATION)
poly<foo> will be a runtime polymorphic value type wrapper modelling a concept represented by foo
poly< regular > poly_regular_t
Authors of poly concept representatives must derive their instance class from this....
Abstract interface providing signatures needed to implement "handle" objects modeling a Value (Copyab...
virtual const std::type_info & type_info() const =0
bool equals(const poly_regular_interface &x) const
BOOST_CLASS_REQUIRE(T, adobe, RegularConcept)
optimized_storage_type< T, poly_regular_interface >::type base_t
poly_regular_instance(const T &x)
poly_regular_instance(move_from< poly_regular_instance > x)
Virtual interface for RegularConcept. Used in poly<regular> implementation.
virtual bool equals(const poly_regular_interface &new_value) const =0
poly_base< poly_regular_interface, poly_regular_instance > base_t
regular(move_from< regular > x)
An empty regular- and less-than-comparable- type.