namespace boost {
namespace itl {
template<typename DomainT ,
ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
ITL_ALLOC Alloc = std::allocator>
class set;
template<class Type > struct is_set<itl::set< Type >>;
template<class Type > struct is_interval_container<itl::set< Type >>;
template<class Type > struct is_interval_splitter<itl::set< Type >>;
template<class Type > struct absorbs_neutrons<itl::set< Type >>;
template<class Type > struct is_total<itl::set< Type >>;
template<class Type > struct type_to_string<itl::set< Type >>;
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator==(const itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator!=(const itl::set< DomainT, Compare, Alloc > & lhs,
const itl::set< DomainT, Compare, Alloc > & rhs);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool is_element_equal(const itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator<(const itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator>(const itl::set< DomainT, Compare, Alloc > & lhs,
const itl::set< DomainT, Compare, Alloc > & rhs);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator<=(const itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool operator>=(const itl::set< DomainT, Compare, Alloc > & lhs,
const itl::set< DomainT, Compare, Alloc > & rhs);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator+=(itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator+(itl::set< DomainT, Compare, Alloc > object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator+(const typename itl::set< DomainT, Compare, Alloc >::element_type & operand,
itl::set< DomainT, Compare, Alloc > object);
// Add a set operand
to set object
.
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator+=(itl::set< DomainT, Compare, Alloc > & object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator+(itl::set< DomainT, Compare, Alloc > object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator|=(itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator|(itl::set< DomainT, Compare, Alloc > object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator|(const typename itl::set< DomainT, Compare, Alloc >::element_type & operand,
itl::set< DomainT, Compare, Alloc > object);
// Add a set operand
to this set .
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator|=(itl::set< DomainT, Compare, Alloc > & object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator|(itl::set< DomainT, Compare, Alloc > object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator-=(itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator-(itl::set< DomainT, Compare, Alloc > object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
// Subtract a set x2
from this set.
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator-=(itl::set< DomainT, Compare, Alloc > & object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator-(itl::set< DomainT, Compare, Alloc > object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator&=(itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator&(itl::set< DomainT, Compare, Alloc > object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator&(const typename itl::set< DomainT, Compare, Alloc >::element_type & operand,
itl::set< DomainT, Compare, Alloc > object);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator&=(itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator&(itl::set< DomainT, Compare, Alloc > object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & element);
template<class DomainT , class CodomainT , class Traits ,
ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
ITL_ALLOC Alloc>
bool intersects(const typename itl::set< DomainT, Compare, Alloc >::element_type & element,
const itl::set< DomainT, Compare, Alloc > & object);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
bool intersects(const itl::set< DomainT, Compare, Alloc > & left,
const itl::set< DomainT, Compare, Alloc > & right);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator^=(itl::set< DomainT, Compare, Alloc > & object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator^(itl::set< DomainT, Compare, Alloc > object,
const typename itl::set< DomainT, Compare, Alloc >::element_type & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator^(const typename itl::set< DomainT, Compare, Alloc >::element_type & operand,
itl::set< DomainT, Compare, Alloc > object);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc > &
operator^=(itl::set< DomainT, Compare, Alloc > &,
const itl::set< DomainT, Compare, Alloc > &);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
itl::set< DomainT, Compare, Alloc >
operator^(itl::set< DomainT, Compare, Alloc > object,
const itl::set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
set< DomainT, Compare, Alloc > &
insert(set< DomainT, Compare, Alloc > & object,
const set< DomainT, Compare, Alloc > & operand);
template<typename DomainT , ITL_COMPARE Compare, ITL_ALLOC Alloc>
set< DomainT, Compare, Alloc > &
erase(set< DomainT, Compare, Alloc > & object,
const set< DomainT, Compare, Alloc > & operand);
template<class CharType , class CharTraits , class DomainT ,
ITL_COMPARE Compare, ITL_ALLOC Alloc>
std::basic_ostream< CharType, CharTraits > &
operator<<(std::basic_ostream< CharType, CharTraits > & stream,
const itl::set< DomainT, Compare, Alloc > & object);
}
}