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>
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)