OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <DisjointSequence.h>
Public Types | |
typedef std::pair< T, T > | TPair |
typedef bool(* | Compare) (const TPair &, const TPair &) |
typedef Container::size_type | size_type |
typedef Container::const_iterator | const_iterator |
typedef const_iterator | iterator |
typedef Container::const_reverse_iterator | const_reverse_iterator |
typedef const_reverse_iterator | reverse_iterator |
Public Member Functions | |
typedef | OPENDDS_SET_CMP (TPair, Compare) Container |
OrderedRanges () | |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | end () const |
const_iterator | cend () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | rend () const |
const_reverse_iterator | crend () const |
bool | empty () const |
size_type | size () const |
void | clear () |
void | add (T lower, T upper) |
void | add (T value) |
void | remove (T value) |
T | pop_front () |
bool | has (T lower, T upper) const |
bool | has (const TPair &range) const |
bool | has (T value) const |
bool | has_any (T lower, T upper) const |
bool | has_any (const TPair &range) const |
Static Public Member Functions | |
static bool | range_less (const TPair &lhs, const TPair &rhs) |
Private Member Functions | |
const_iterator | lower_bound (const TPair &p) const |
const_iterator | lower_bound (T t) const |
Container::iterator | lower_bound_i (T t) |
const_iterator | upper_bound (const TPair &p) const |
const_iterator | upper_bound (T t) const |
void | remove_i (typename Container::iterator iter, T value) |
Private Attributes | |
Container | ranges_ |
Friends | |
class | DisjointSequence |
template<typename Type > | |
bool | operator== (const OrderedRanges< Type > &a, const OrderedRanges< Type > &b) |
Core data structure of DisjointSequence: Use a balanced binary tree (std::set) to store a list of ranges (std::pair of T). Maintain invariants (in addition to those from std::set):
Definition at line 125 of file DisjointSequence.h.
typedef bool(* OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::Compare) (const TPair &, const TPair &) |
Definition at line 128 of file DisjointSequence.h.
typedef Container::const_iterator OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::const_iterator |
Definition at line 131 of file DisjointSequence.h.
typedef Container::const_reverse_iterator OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::const_reverse_iterator |
Definition at line 133 of file DisjointSequence.h.
typedef const_iterator OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::iterator |
Definition at line 132 of file DisjointSequence.h.
typedef const_reverse_iterator OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::reverse_iterator |
Definition at line 134 of file DisjointSequence.h.
typedef Container::size_type OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::size_type |
Definition at line 130 of file DisjointSequence.h.
typedef std::pair<T, T> OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::TPair |
Definition at line 127 of file DisjointSequence.h.
|
inline |
Definition at line 141 of file DisjointSequence.h.
|
inline |
Definition at line 161 of file DisjointSequence.h.
Referenced by OpenDDS::XTypes::DynamicDataImpl::insert_valid_discriminator(), OpenDDS::Security::XmlUtils::parse_domain_id_set(), and OpenDDS::DCPS::DomainParticipantImpl::return_handle().
|
inline |
Definition at line 180 of file DisjointSequence.h.
|
inline |
Definition at line 145 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::cumulative_ack(), OpenDDS::DCPS::DisjointSequence::dump(), OpenDDS::DCPS::DisjointSequence::fill_bitmap_range(), OpenDDS::DCPS::DisjointSequence::insert_filtered(), OpenDDS::XTypes::DynamicDataImpl::insert_valid_discriminator(), OpenDDS::DCPS::DisjointSequence::low(), and OpenDDS::DCPS::DisjointSequence::to_bitmap().
|
inline |
Definition at line 146 of file DisjointSequence.h.
|
inline |
Definition at line 149 of file DisjointSequence.h.
|
inline |
Definition at line 159 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::reset().
|
inline |
Definition at line 152 of file DisjointSequence.h.
|
inline |
Definition at line 155 of file DisjointSequence.h.
|
inline |
Definition at line 157 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DomainParticipantImpl::assign_handle(), OpenDDS::DCPS::DisjointSequence::cumulative_ack(), OpenDDS::DCPS::DisjointSequence::empty(), OpenDDS::DCPS::DisjointSequence::insert_bitmap_range(), OpenDDS::XTypes::DynamicDataImpl::insert_valid_discriminator(), OpenDDS::DCPS::DisjointSequence::last_ack(), and OpenDDS::Security::XmlUtils::parse_domain_id_set().
|
inline |
Definition at line 148 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::dump(), OpenDDS::DCPS::DisjointSequence::fill_bitmap_range(), OpenDDS::DCPS::DisjointSequence::insert_filtered(), and OpenDDS::DCPS::DisjointSequence::to_bitmap().
|
inline |
Definition at line 201 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::insert_filtered().
|
inline |
Definition at line 207 of file DisjointSequence.h.
|
inline |
Definition at line 212 of file DisjointSequence.h.
|
inline |
Definition at line 217 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::insert_filtered().
|
inline |
Definition at line 223 of file DisjointSequence.h.
|
inlineprivate |
Definition at line 232 of file DisjointSequence.h.
|
inlineprivate |
Definition at line 234 of file DisjointSequence.h.
|
inlineprivate |
Definition at line 240 of file DisjointSequence.h.
typedef OpenDDS::DCPS::DisjointSequence::OrderedRanges< T >::OPENDDS_SET_CMP | ( | TPair | , |
Compare | |||
) |
|
inline |
Definition at line 194 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DomainParticipantImpl::assign_handle().
|
inlinestatic |
Definition at line 136 of file DisjointSequence.h.
|
inline |
Definition at line 151 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::high(), and OpenDDS::DCPS::DisjointSequence::last_ack().
|
inline |
Definition at line 185 of file DisjointSequence.h.
|
inlineprivate |
Definition at line 253 of file DisjointSequence.h.
|
inline |
Definition at line 154 of file DisjointSequence.h.
|
inline |
Definition at line 158 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::disjoint().
|
inlineprivate |
Definition at line 245 of file DisjointSequence.h.
|
inlineprivate |
Definition at line 247 of file DisjointSequence.h.
|
friend |
Definition at line 269 of file DisjointSequence.h.
|
friend |
|
private |
Definition at line 270 of file DisjointSequence.h.
Referenced by OpenDDS::DCPS::DisjointSequence::erase(), OpenDDS::DCPS::DisjointSequence::insert(), OpenDDS::DCPS::DisjointSequence::insert_bitmap_range(), OpenDDS::DCPS::DisjointSequence::insert_i(), and OpenDDS::DCPS::operator==().