template <typename _KeyType = uint64_t, typename _Container = DefaultRangeContainer<_KeyType>, typename _ContainerTraits = DefaultRangeTraits<_Container, _KeyType>>
class Range
Defined at line 78 of file ../../zircon/system/ulib/range/include/range/range.h
Range is a half closed interval [start, end).
The values of the range are stored in a |Container| type, which holds these values.
|ContainerTraits| describes how these values may be extracted from the |Container| type.
Public Methods
template <typename T = KeyType, std::enable_if_t<std::is_convertible<Container, DefaultRangeContainer<T>>::value, int> = 0>
void Range<_KeyType, _Container, _ContainerTraits> (KeyType start, KeyType end)
Creates Range from [start, end).
Defined at line 90 of file ../../zircon/system/ulib/range/include/range/range.h
void Range<_KeyType, _Container, _ContainerTraits> (Container container)
Defined at line 92 of file ../../zircon/system/ulib/range/include/range/range.h
void Range<_KeyType, _Container, _ContainerTraits> ()
Defined at line 94 of file ../../zircon/system/ulib/range/include/range/range.h
void Range<_KeyType, _Container, _ContainerTraits> (const Range<_KeyType, _Container, _ContainerTraits> & )
Defined at line 95 of file ../../zircon/system/ulib/range/include/range/range.h
Range<_KeyType, _Container, _ContainerTraits> & operator= (const Range<_KeyType, _Container, _ContainerTraits> & )
Defined at line 96 of file ../../zircon/system/ulib/range/include/range/range.h
Range<_KeyType, _Container, _ContainerTraits> & operator= (Range<_KeyType, _Container, _ContainerTraits> && )
Defined at line 97 of file ../../zircon/system/ulib/range/include/range/range.h
bool operator== (const Range<_KeyType, _Container, _ContainerTraits> & y)
Defined at line 98 of file ../../zircon/system/ulib/range/include/range/range.h
bool operator!= (const Range<_KeyType, _Container, _ContainerTraits> & y)
Defined at line 99 of file ../../zircon/system/ulib/range/include/range/range.h
void ~Range<_KeyType, _Container, _ContainerTraits> ()
Defined at line 100 of file ../../zircon/system/ulib/range/include/range/range.h
KeyType Start ()
Defined at line 102 of file ../../zircon/system/ulib/range/include/range/range.h
KeyType End ()
Defined at line 103 of file ../../zircon/system/ulib/range/include/range/range.h
KeyType Length ()
The length of the range is end - start. When start => end, then length is
considered as zero.
Defined at line 107 of file ../../zircon/system/ulib/range/include/range/range.h
zx_status_t Merge (const Range<_KeyType, _Container, _ContainerTraits> & other)
Merges another range into this one by modifying the start and end
of the current range object.
Returns an error if the two ranges cannot be merged.
Defined at line 118 of file ../../zircon/system/ulib/range/include/range/range.h
Container release ()
Extracts the container from underneath the range object.
This operation invalidates the Range object.
Defined at line 146 of file ../../zircon/system/ulib/range/include/range/range.h
const Container & container ()
Defined at line 147 of file ../../zircon/system/ulib/range/include/range/range.h