#define BOOST_ICL_LEFT_OPEN_INTERVAL_HPP_JOFA_100930
#include <functional>
+#include <boost/static_assert.hpp>
#include <boost/concept/assert.hpp>
+#include <boost/icl/detail/concept_check.hpp>
#include <boost/icl/concept/interval.hpp>
+#include <boost/icl/type_traits/succ_pred.hpp>
#include <boost/icl/type_traits/value_size.hpp>
#include <boost/icl/type_traits/type_to_string.hpp>
namespace boost{namespace icl
{
-template <class DomainT,
+template <class DomainT,
ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
class left_open_interval
{
//= Construct, copy, destruct
//==========================================================================
/** Default constructor; yields an empty interval <tt>(0,0]</tt>. */
- left_open_interval()
- : _lwb(identity_element<DomainT>::value()), _upb(identity_element<DomainT>::value())
+ left_open_interval()
+ : _lwb(identity_element<DomainT>::value()), _upb(identity_element<DomainT>::value())
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
- // Only for discrete types this ctor creates an interval containing
+ // Only for discrete types this ctor creates an interval containing
// a single element only.
BOOST_STATIC_ASSERT((icl::is_discrete<DomainT>::value));
BOOST_ASSERT((numeric_minimum<DomainT, domain_compare, is_numeric<DomainT>::value >
- ::is_less_than(val) ));
+ ::is_less_than(val) ));
}
/** Interval from <tt>low</tt> to <tt>up</tt> with bounds <tt>bounds</tt> */
//==============================================================================
//= Type traits
//==============================================================================
-template <class DomainT, ICL_COMPARE Compare>
+template <class DomainT, ICL_COMPARE Compare>
struct interval_bound_type< left_open_interval<DomainT,Compare> >
{
typedef interval_bound_type type;
{ return "(I]<"+ type_to_string<DomainT>::apply() +">"; }
};
-template<class DomainT, ICL_COMPARE Compare>
+template<class DomainT, ICL_COMPARE Compare>
struct value_size<icl::left_open_interval<DomainT,Compare> >
{
- static std::size_t apply(const icl::left_open_interval<DomainT>&)
+ static std::size_t apply(const icl::left_open_interval<DomainT>&)
{ return 2; }
};
}} // namespace icl boost
#endif
-