mirror of
https://git.suyu.dev/suyu/ext-boost.git
synced 2026-01-06 06:28:08 +01:00
Update to boost v1.63.0
This commit is contained in:
parent
f005c955f8
commit
25db91d480
535 changed files with 20797 additions and 37185 deletions
|
|
@ -455,7 +455,7 @@ enable_if< mpl::and_< mpl::or_<is_static_right_open<Type>, is_static_open<Type>
|
|||
, typename interval_traits<Type>::domain_type>::type
|
||||
last_next(const Type& object)
|
||||
{
|
||||
typedef typename interval_traits<Type>::domain_type domain_type;
|
||||
//CL typedef typename interval_traits<Type>::domain_type domain_type;
|
||||
return upper(object); // NOTE: last_next is implemented to avoid calling pred(object)
|
||||
} // For unsigned integral types this may cause underflow.
|
||||
|
||||
|
|
@ -1148,6 +1148,8 @@ left_subtract(Type right, const Type& left_minuend)
|
|||
{
|
||||
if(exclusive_less(left_minuend, right))
|
||||
return right;
|
||||
else if(upper_less_equal(right, left_minuend))
|
||||
return identity_element<Type>::value();
|
||||
|
||||
return construct<Type>(domain_next<Type>(upper(left_minuend)), upper(right));
|
||||
}
|
||||
|
|
@ -1175,7 +1177,7 @@ left_subtract(Type right, const Type& left_minuend)
|
|||
|
||||
//- right_subtract -------------------------------------------------------------
|
||||
/** subtract \c right_minuend from the \c left interval on it's right side.
|
||||
Return the difference: The part of \c left right of \c right_minuend.
|
||||
Return the difference: The part of \c left left of \c right_minuend.
|
||||
\code
|
||||
left_over = left - right_minuend; //on the right side.
|
||||
[a ... : left
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ typename enable_if
|
|||
cardinality(const Type& object)
|
||||
{
|
||||
typedef typename Type::size_type size_type;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
|
||||
size_type size = identity_element<size_type>::value();
|
||||
ICL_const_FORALL(typename Type, it, object)
|
||||
|
|
@ -139,7 +139,7 @@ typename enable_if
|
|||
cardinality(const Type& object)
|
||||
{
|
||||
typedef typename Type::size_type size_type;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
|
||||
size_type size = identity_element<size_type>::value();
|
||||
size_type interval_size;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ typename enable_if<mpl::and_< is_interval_container<Type>
|
|||
, typename Type::const_iterator>::type
|
||||
find(const Type& object, const typename domain_type_of<Type>::type& key_val)
|
||||
{
|
||||
typedef typename Type::const_iterator const_iterator;
|
||||
//CL typedef typename Type::const_iterator const_iterator;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
return object.find(icl::detail::unit_trail<interval_type>(key_val));
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ typename enable_if<mpl::and_< is_interval_container<Type>
|
|||
, typename Type::const_iterator>::type
|
||||
find(const Type& object, const typename domain_type_of<Type>::type& key_val)
|
||||
{
|
||||
typedef typename Type::const_iterator const_iterator;
|
||||
//CL typedef typename Type::const_iterator const_iterator;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
return object.find(icl::singleton<interval_type>(key_val));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@ typename enable_if<is_interval_map<Type>, void>::type
|
|||
add_intersection(Type& section, const Type& object,
|
||||
const typename Type::element_type& operand)
|
||||
{
|
||||
typedef typename Type::segment_type segment_type;
|
||||
//CL typedef typename Type::segment_type segment_type;
|
||||
object.add_intersection(section, make_segment<Type>(operand));
|
||||
}
|
||||
|
||||
|
|
@ -346,8 +346,8 @@ typename enable_if
|
|||
>::type
|
||||
add_intersection(Type& section, const Type& object, const MapT& operand)
|
||||
{
|
||||
typedef typename Type::segment_type segment_type;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::segment_type segment_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
typedef typename MapT::const_iterator const_iterator;
|
||||
|
||||
if(operand.empty())
|
||||
|
|
@ -538,7 +538,7 @@ typename enable_if< mpl::and_< mpl::not_<is_total<Type> >
|
|||
flip(Type& object, const OperandT& operand)
|
||||
{
|
||||
typedef typename OperandT::const_iterator const_iterator;
|
||||
typedef typename Type::codomain_type codomain_type;
|
||||
//CL typedef typename Type::codomain_type codomain_type;
|
||||
|
||||
const_iterator common_lwb, common_upb;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ Copyright (c) 2009-2009: Joachim Faulhaber
|
|||
#define BOOST_ICL_CONCEPT_CHECK_HPP_JOFA_090913
|
||||
|
||||
#include <boost/concept_check.hpp>
|
||||
#include <boost/concept/detail/concept_def.hpp>
|
||||
|
||||
#include <boost/concept/detail/concept_def.hpp>
|
||||
namespace boost{ namespace icl
|
||||
{
|
||||
|
||||
|
|
@ -24,7 +24,7 @@ namespace boost{ namespace icl
|
|||
};
|
||||
|
||||
}}// namespace boost icl
|
||||
|
||||
#include <boost/concept/detail/concept_undef.hpp>
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ inline typename Type::iterator
|
|||
join_on_left(Type& object, typename Type::iterator& left_,
|
||||
typename Type::iterator& right_)
|
||||
{
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
// both left and right are in the set and they are neighbours
|
||||
BOOST_ASSERT(exclusive_less(key_value<Type>(left_), key_value<Type>(right_)));
|
||||
BOOST_ASSERT(joinable(object, left_, right_));
|
||||
|
|
@ -260,7 +260,7 @@ inline typename Type::iterator
|
|||
join_on_right(Type& object, typename Type::iterator& left_,
|
||||
typename Type::iterator& right_)
|
||||
{
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
// both left and right are in the map and they are neighbours
|
||||
BOOST_ASSERT(exclusive_less(key_value<Type>(left_), key_value<Type>(right_)));
|
||||
BOOST_ASSERT(joinable(object, left_, right_));
|
||||
|
|
@ -569,7 +569,7 @@ template<class Type>
|
|||
typename Type::iterator
|
||||
add(Type& object, const typename Type::value_type& addend)
|
||||
{
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
typedef typename Type::iterator iterator;
|
||||
typedef typename on_style<Type, Type::fineness>::type on_style_;
|
||||
|
||||
|
|
@ -590,7 +590,7 @@ typename Type::iterator
|
|||
add(Type& object, typename Type::iterator prior_,
|
||||
const typename Type::value_type& addend)
|
||||
{
|
||||
typedef typename Type::interval_type interval_type;
|
||||
//CL typedef typename Type::interval_type interval_type;
|
||||
typedef typename Type::iterator iterator;
|
||||
typedef typename on_style<Type, Type::fineness>::type on_style_;
|
||||
|
||||
|
|
@ -614,7 +614,7 @@ void subtract(Type& object, const typename Type::value_type& minuend)
|
|||
{
|
||||
typedef typename Type::iterator iterator;
|
||||
typedef typename Type::interval_type interval_type;
|
||||
typedef typename Type::value_type value_type;
|
||||
//CL typedef typename Type::value_type value_type;
|
||||
|
||||
if(icl::is_empty(minuend)) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -119,8 +119,8 @@ public:
|
|||
int co_compare(LeftIterT& left, RightIterT& right)
|
||||
{
|
||||
using namespace boost::mpl;
|
||||
typedef typename codomain_type_of<LeftT>::type LeftCodomainT;
|
||||
typedef typename codomain_type_of<RightT>::type RightCodomainT;
|
||||
//CL typedef typename codomain_type_of<LeftT>::type LeftCodomainT;
|
||||
//CL typedef typename codomain_type_of<RightT>::type RightCodomainT;
|
||||
|
||||
return
|
||||
if_<
|
||||
|
|
|
|||
|
|
@ -10,12 +10,11 @@ Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
|
|||
#define BOOST_ICL_INTERVAL_BASE_MAP_HPP_JOFA_990223
|
||||
|
||||
#include <limits>
|
||||
#include <boost/type_traits/ice.hpp>
|
||||
#include <boost/mpl/and.hpp>
|
||||
#include <boost/mpl/or.hpp>
|
||||
#include <boost/mpl/not.hpp>
|
||||
|
||||
#include <boost/icl/detail/notate.hpp>
|
||||
#include <boost/icl/detail/notate.hpp>
|
||||
#include <boost/icl/detail/design_config.hpp>
|
||||
#include <boost/icl/detail/on_absorbtion.hpp>
|
||||
#include <boost/icl/detail/interval_map_algo.hpp>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ Copyright (c) 2007-2011: Joachim Faulhaber
|
|||
#endif
|
||||
|
||||
#include <string>
|
||||
#include <boost/type_traits/ice.hpp>
|
||||
#include <boost/call_traits.hpp>
|
||||
#include <boost/icl/detail/notate.hpp>
|
||||
#include <boost/icl/detail/design_config.hpp>
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ namespace boost{ namespace icl
|
|||
{
|
||||
typedef has_inverse<Type> type;
|
||||
BOOST_STATIC_CONSTANT(bool,
|
||||
value = (type_traits::ice_or<boost::is_signed<Type>::value,
|
||||
is_floating_point<Type>::value>::value));
|
||||
value = ( boost::is_signed<Type>::value
|
||||
|| is_floating_point<Type>::value ) );
|
||||
};
|
||||
|
||||
}} // namespace boost icl
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ Copyright (c) 2010-2011: Joachim Faulhaber
|
|||
|
||||
#include <string>
|
||||
#include <boost/static_assert.hpp>
|
||||
#include <boost/type_traits/ice.hpp>
|
||||
#include <boost/icl/type_traits/is_numeric.hpp>
|
||||
#include <boost/icl/type_traits/rep_type_of.hpp>
|
||||
#include <boost/icl/type_traits/size_type_of.hpp>
|
||||
|
|
@ -24,10 +23,9 @@ template<class Type> struct has_std_infinity
|
|||
{
|
||||
typedef has_std_infinity type;
|
||||
BOOST_STATIC_CONSTANT(bool,
|
||||
value = (type_traits::ice_and
|
||||
< is_numeric<Type>::value
|
||||
, std::numeric_limits<Type>::has_infinity
|
||||
>::value)
|
||||
value = ( is_numeric<Type>::value
|
||||
&& std::numeric_limits<Type>::has_infinity
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
|
|
@ -35,10 +33,9 @@ template<class Type> struct has_max_infinity
|
|||
{
|
||||
typedef has_max_infinity type;
|
||||
BOOST_STATIC_CONSTANT(bool,
|
||||
value = (type_traits::ice_and
|
||||
< is_numeric<Type>::value
|
||||
, type_traits::ice_not<std::numeric_limits<Type>::has_infinity>::value
|
||||
>::value)
|
||||
value = ( is_numeric<Type>::value
|
||||
&& ! std::numeric_limits<Type>::has_infinity
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ Copyright (c) 2008-2009: Joachim Faulhaber
|
|||
#ifndef BOOST_ICL_TYPE_TRAITS_IS_INTERVAL_SEPARATOR_HPP_JOFA_081004
|
||||
#define BOOST_ICL_TYPE_TRAITS_IS_INTERVAL_SEPARATOR_HPP_JOFA_081004
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace boost{ namespace icl
|
||||
{
|
||||
template <class Type> struct is_interval_separator
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ Copyright (c) 2010-2010: Joachim Faulhaber
|
|||
#include <complex>
|
||||
#include <functional>
|
||||
#include <boost/type_traits/is_floating_point.hpp>
|
||||
#include <boost/type_traits/ice.hpp>
|
||||
#include <boost/type_traits/is_integral.hpp>
|
||||
|
||||
namespace boost{ namespace icl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue