template<typename DomainT, DomainT sentinel, template<class> class AllocatorT, template<class U, U> class IntervalT, template<class, class, class> class OrderedSetT, template<class> class IntervalCompareT>
vt::term::interval::IntegralSetBase struct

Public types

template<typename Impl>
struct IntervalSetIter
using DomainType = DomainT
using IntervalType = IntervalT<DomainT, sentinel>
using CompareType = IntervalCompareT<DomainT>
using AllocType = AllocatorT<IntervalType>
using OrderedSetType = OrderedSetT<IntervalType, CompareType, AllocType>
using IteratorType = typename OrderedSetType::iterator
using PositionType = typename IntervalType::PositionEnum
using ForwardIter = IntervalSetIter<IteratorType>
using ReverseIter = std::reverse_iterator<ForwardIter>

Constructors, destructors, conversion operators

IntegralSetBase()
IntegralSetBase(IntegralSetBase const&) defaulted
IntegralSetBase(IntegralSetBase&&) defaulted
IntegralSetBase(DomainT base) explicit

Public functions

auto operator=(IntegralSetBase const&) -> IntegralSetBase& defaulted
template<typename DomainU, typename = std::enable_if_t< std::is_same< std::remove_const_t<std::remove_reference_t<DomainU>>, DomainT >::value >>
auto insert(DomainU&& val) -> IteratorType
template<typename DomainU, typename = std::enable_if_t< std::is_same< std::remove_const_t<std::remove_reference_t<DomainU>>, DomainT >::value >>
auto insert(IteratorType it, DomainU&& val) -> IteratorType
template<typename IntervalU, typename = std::enable_if_t< std::is_same< std::remove_const_t<std::remove_reference_t<IntervalU>>, IntervalType >::value >>
auto insertInterval(IntervalU&& i) -> IteratorType
template<typename IntervalU, typename = std::enable_if_t< std::is_same< std::remove_const_t<std::remove_reference_t<IntervalU>>, IntervalType >::value >>
auto insertInterval(IteratorType it, IntervalU&& i) -> IteratorType
void erase(DomainT const& val)
auto contains(DomainT const& val) const -> bool
auto exists(DomainT const& val) const -> bool
void clear()
auto range() const -> DomainT
auto lower() const -> DomainT
auto upper() const -> DomainT
auto empty() const -> bool
auto size() const -> std::size_t
auto compressedSize() const -> std::size_t
auto compression() const -> float
void dumpState() const
auto begin() -> ForwardIter
auto end() -> ForwardIter
auto rbegin() -> ReverseIter
auto rend() -> ReverseIter
auto ibegin() -> IteratorType
auto iend() -> IteratorType
auto irbegin() -> IteratorType
auto irend() -> IteratorType
template<typename SerializerT>
void serialize(SerializerT& s)