GappedIntervalSequence< Key, Allocator > Class Template Reference

class implementing an Interval Sequence Tree this is a tree for storing a changing sequence of intervals that was invented one rainy afternoon by Aaron Darling and Michael Rusch. More...

#include <GappedIntervalSequence.h>

Collaboration diagram for GappedIntervalSequence< Key, Allocator >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Allocator allocator_type
typedef __generic_iterator<
true > 
const_iterator
typedef Allocator::const_pointer const_pointer
typedef Allocator::const_reference const_reference
typedef std::reverse_iterator<
const_iterator
const_reverse_iterator
typedef Allocator::difference_type difference_type
typedef __generic_iterator<
false > 
iterator
typedef Allocator::pointer pointer
typedef Allocator::reference reference
typedef std::reverse_iterator<
iterator
reverse_iterator
typedef Allocator::size_type size_type
typedef Key value_type

Public Member Functions

const_iterator begin () const
iterator begin ()
void checkTree () const
size_type countNodes (GisNode *x=NULL) const
bool empty () const
const_iterator end () const
iterator end ()
void erase (iterator first, iterator last)
size_type erase (size_type point, size_type length)
const_iterator find (size_type point) const
iterator find (size_type point)
const_iterator find_seqindex (size_type seq_point) const
iterator find_seqindex (size_type seq_point)
 GappedIntervalSequence (const GappedIntervalSequence &ist)
template<class InputIterator>  GappedIntervalSequence (InputIterator first, InputIterator last)
 GappedIntervalSequence ()
size_type getSequenceStart (iterator iter) const
size_type getSequenceStart (const_iterator iter) const
size_type getStart (iterator iter) const
size_type getStart (const_iterator iter) const
template<class InputIterator> void insert (InputIterator first, InputIterator last, size_type point=IST_END)
iterator insert (const value_type &val, size_type point=IST_END)
size_type length () const
 Returns the total length of intervals contained in this interval sequence.

size_type max_size () const
size_type nodeCount () const
GappedIntervalSequenceoperator= (const GappedIntervalSequence &ist)
const_reverse_iterator rbegin () const
reverse_iterator rbegin ()
const_reverse_iterator rend () const
reverse_iterator rend ()
size_type sequenceLength () const
 ~GappedIntervalSequence ()

Protected Types

typedef node_allocator_type::const_pointer const_node_pointer
typedef Allocator::template
rebind< GisNode >::other 
node_allocator_type
typedef node_allocator_type::pointer node_pointer

Protected Member Functions

const GisNoderecursiveFind (size_type &point, const GisNode *node) const
size_type recursiveGetSequenceStart (const GisNode *node) const
size_type recursiveGetStart (const GisNode *node) const
const GisNoderecursiveSeqFind (size_type &point, const GisNode *const node) const

Static Protected Member Functions

size_type checkNodeLengths (GisNode *node)
size_type checkNodeSeqLengths (GisNode *node)
void checkTree (GisNode *cur_node)
void decrement (GisNode *&x)
void decrement (const GisNode *&x)
void deleteSubtree (GisNode *&istn)
void increment (GisNode *&x)
void increment (const GisNode *&x)
bool isEndNode (const GisNode *node)
void propogateChanges (GisNode *cur_node, int64 length_diff, int64 seq_len_diff, int64 subtree_diff)

Protected Attributes

GisNode end_node
 placeholder for the end node with a pointer to the root

GisNodeleftmost
 Left most tree node, for begin() method.

GisNoderightmost
 Right most tree node, for end() method.

GisNoderoot
 Root of the tree.


Friends

class __generic_iterator< false >
class __generic_iterator< true >

Detailed Description

template<class Key, class Allocator = std::allocator<Key>>
class GappedIntervalSequence< Key, Allocator >

class implementing an Interval Sequence Tree this is a tree for storing a changing sequence of intervals that was invented one rainy afternoon by Aaron Darling and Michael Rusch.

Important features are that stabbing queries, stabbing insertions, and stabbing deletions are O( log n ) assuming a uniform distribution of stab sites.

Definition at line 21 of file GappedIntervalSequence.h.


Member Typedef Documentation

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator GappedIntervalSequence< Key, Allocator >::allocator_type
 

Definition at line 27 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef __generic_iterator<true> GappedIntervalSequence< Key, Allocator >::const_iterator
 

Definition at line 115 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::end(), GappedIntervalSequence< Key, Allocator >::find(), GappedIntervalSequence< Key, Allocator >::find_seqindex(), GappedIntervalSequence< Key, Allocator >::getSequenceStart(), and GappedIntervalSequence< Key, Allocator >::getStart().

template<class Key, class Allocator = std::allocator<Key>>
typedef node_allocator_type::const_pointer GappedIntervalSequence< Key, Allocator >::const_node_pointer [protected]
 

Definition at line 70 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::const_pointer GappedIntervalSequence< Key, Allocator >::const_pointer
 

Definition at line 33 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::const_reference GappedIntervalSequence< Key, Allocator >::const_reference
 

Definition at line 29 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef std::reverse_iterator< const_iterator > GappedIntervalSequence< Key, Allocator >::const_reverse_iterator
 

Definition at line 117 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::rbegin(), and GappedIntervalSequence< Key, Allocator >::rend().

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::difference_type GappedIntervalSequence< Key, Allocator >::difference_type
 

Definition at line 31 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef __generic_iterator<false> GappedIntervalSequence< Key, Allocator >::iterator
 

Definition at line 114 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::end(), GappedIntervalSequence< Key, Allocator >::erase(), GappedIntervalSequence< Key, Allocator >::find(), GappedIntervalSequence< Key, Allocator >::find_seqindex(), GappedIntervalSequence< Key, Allocator >::getSequenceStart(), and GappedIntervalSequence< Key, Allocator >::getStart().

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::template rebind<GisNode>::other GappedIntervalSequence< Key, Allocator >::node_allocator_type [protected]
 

Definition at line 68 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
typedef node_allocator_type::pointer GappedIntervalSequence< Key, Allocator >::node_pointer [protected]
 

Definition at line 69 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::__generic_iterator< is_const >::__generic_iterator().

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::pointer GappedIntervalSequence< Key, Allocator >::pointer
 

Definition at line 32 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::__generic_iterator< is_const >::operator->().

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::reference GappedIntervalSequence< Key, Allocator >::reference
 

Definition at line 28 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::__generic_iterator< is_const >::operator *().

template<class Key, class Allocator = std::allocator<Key>>
typedef std::reverse_iterator< iterator > GappedIntervalSequence< Key, Allocator >::reverse_iterator
 

Definition at line 116 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::rbegin(), and GappedIntervalSequence< Key, Allocator >::rend().

template<class Key, class Allocator = std::allocator<Key>>
typedef Allocator::size_type GappedIntervalSequence< Key, Allocator >::size_type
 

Definition at line 30 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::checkNodeLengths(), GappedIntervalSequence< Key, Allocator >::checkNodeSeqLengths(), GappedIntervalSequence< Key, Allocator >::erase(), GappedIntervalSequence< Key, Allocator >::find(), GappedIntervalSequence< Key, Allocator >::find_seqindex(), GappedIntervalSequence< Key, Allocator >::insert(), GappedIntervalSequence< Key, Allocator >::recursiveFind(), and GappedIntervalSequence< Key, Allocator >::recursiveSeqFind().

template<class Key, class Allocator = std::allocator<Key>>
typedef Key GappedIntervalSequence< Key, Allocator >::value_type
 

Definition at line 24 of file GappedIntervalSequence.h.


Constructor & Destructor Documentation

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence  )  [inline]
 

Definition at line 200 of file GappedIntervalSequence.h.

template<class Key, class Allocator>
template<class InputIterator>
GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence InputIterator  first,
InputIterator  last
 

Definition at line 211 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::insert().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence const GappedIntervalSequence< Key, Allocator > &  ist  ) 
 

Definition at line 221 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::end(), and GappedIntervalSequence< Key, Allocator >::insert().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::~GappedIntervalSequence  ) 
 

Definition at line 241 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::deleteSubtree(), and GappedIntervalSequence< Key, Allocator >::root.


Member Function Documentation

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_iterator GappedIntervalSequence< Key, Allocator >::begin  )  const
 

Definition at line 256 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator, GappedIntervalSequence< Key, Allocator >::recursiveFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::iterator GappedIntervalSequence< Key, Allocator >::begin  ) 
 

Definition at line 247 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator, GappedIntervalSequence< Key, Allocator >::recursiveFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

Referenced by GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence(), GappedIntervalSequence< Key, Allocator >::operator=(), and GappedIntervalSequence< Key, Allocator >::rend().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::checkNodeLengths GisNode node  )  [static, protected]
 

Definition at line 332 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::size_type.

Referenced by GappedIntervalSequence< Key, Allocator >::checkTree().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::checkNodeSeqLengths GisNode node  )  [static, protected]
 

Definition at line 350 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::size_type.

Referenced by GappedIntervalSequence< Key, Allocator >::checkTree().

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::checkTree GisNode cur_node  )  [static, protected]
 

Definition at line 318 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::checkTree().

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::checkTree  )  const
 

Definition at line 311 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::checkNodeLengths(), GappedIntervalSequence< Key, Allocator >::checkNodeSeqLengths(), and GappedIntervalSequence< Key, Allocator >::root.

Referenced by GappedIntervalSequence< Key, Allocator >::checkTree().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::countNodes GisNode x = NULL  )  const
 

Definition at line 813 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::key, GappedIntervalSequence< Key, Allocator >::GisNode::left, GappedIntervalSequence< Key, Allocator >::GisNode::right, and GappedIntervalSequence< Key, Allocator >::root.

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::decrement GisNode *&  x  )  [static, protected]
 

Definition at line 868 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::gis_tree, GappedIntervalSequence< Key, Allocator >::isEndNode(), GappedIntervalSequence< Key, Allocator >::GisNode::key, GappedIntervalSequence< Key, Allocator >::GisNode::left, GappedIntervalSequence< Key, Allocator >::GisNode::parent, and GappedIntervalSequence< Key, Allocator >::GisNode::right.

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::decrement const GisNode *&  x  )  [static, protected]
 

Definition at line 828 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::__generic_iterator< is_const >::operator--().

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::deleteSubtree GisNode *&  istn  )  [static, protected]
 

Definition at line 898 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::key, GappedIntervalSequence< Key, Allocator >::GisNode::left, and GappedIntervalSequence< Key, Allocator >::GisNode::right.

Referenced by GappedIntervalSequence< Key, Allocator >::~GappedIntervalSequence().

template<class Key, class Allocator>
bool GappedIntervalSequence< Key, Allocator >::empty  )  const
 

Definition at line 306 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::root.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_iterator GappedIntervalSequence< Key, Allocator >::end  )  const
 

Definition at line 271 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator, and GappedIntervalSequence< Key, Allocator >::end_node.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::iterator GappedIntervalSequence< Key, Allocator >::end  ) 
 

Definition at line 265 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::end_node, and GappedIntervalSequence< Key, Allocator >::iterator.

Referenced by GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence(), GappedIntervalSequence< Key, Allocator >::operator=(), and GappedIntervalSequence< Key, Allocator >::rbegin().

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::erase iterator  first,
iterator  last
 

Definition at line 644 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::erase size_type  point,
size_type  length
 

Definition at line 503 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::increment(), GappedIntervalSequence< Key, Allocator >::isEndNode(), GappedIntervalSequence< Key, Allocator >::GisNode::key, GappedIntervalSequence< Key, Allocator >::GisNode::left, GappedIntervalSequence< Key, Allocator >::leftmost, GappedIntervalSequence< Key, Allocator >::GisNode::length, GappedIntervalSequence< Key, Allocator >::GisNode::parent, GappedIntervalSequence< Key, Allocator >::propogateChanges(), GappedIntervalSequence< Key, Allocator >::recursiveFind(), GappedIntervalSequence< Key, Allocator >::GisNode::right, GappedIntervalSequence< Key, Allocator >::rightmost, GappedIntervalSequence< Key, Allocator >::root, GappedIntervalSequence< Key, Allocator >::GisNode::seq_length, GappedIntervalSequence< Key, Allocator >::size_type, and GappedIntervalSequence< Key, Allocator >::GisNode::subtree_leaves.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_iterator GappedIntervalSequence< Key, Allocator >::find size_type  point  )  const
 

Definition at line 662 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator, GappedIntervalSequence< Key, Allocator >::recursiveFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::iterator GappedIntervalSequence< Key, Allocator >::find size_type  point  ) 
 

Definition at line 653 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator, GappedIntervalSequence< Key, Allocator >::recursiveFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_iterator GappedIntervalSequence< Key, Allocator >::find_seqindex size_type  seq_point  )  const
 

Definition at line 736 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator, GappedIntervalSequence< Key, Allocator >::recursiveSeqFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::iterator GappedIntervalSequence< Key, Allocator >::find_seqindex size_type  seq_point  ) 
 

Definition at line 728 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator, GappedIntervalSequence< Key, Allocator >::recursiveSeqFind(), GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::getSequenceStart iterator  iter  )  const
 

Definition at line 785 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::getSequenceStart const_iterator  iter  )  const
 

Definition at line 769 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator.

Referenced by Alignment::getColumnIndex().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::getStart iterator  iter  )  const
 

Definition at line 793 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::iterator.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::getStart const_iterator  iter  )  const
 

Definition at line 777 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_iterator.

Referenced by Alignment::getColumnIndex().

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::increment GisNode *&  x  )  [static, protected]
 

Definition at line 841 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::gis_tree, GappedIntervalSequence< Key, Allocator >::GisNode::key, GappedIntervalSequence< Key, Allocator >::GisNode::left, GappedIntervalSequence< Key, Allocator >::GisNode::parent, and GappedIntervalSequence< Key, Allocator >::GisNode::right.

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::increment const GisNode *&  x  )  [static, protected]
 

Definition at line 823 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::erase(), and GappedIntervalSequence< Key, Allocator >::__generic_iterator< is_const >::operator++().

template<class Key, class Allocator>
template<class InputIterator>
void GappedIntervalSequence< Key, Allocator >::insert InputIterator  first,
InputIterator  last,
size_type  point = IST_END
 

Definition at line 493 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::size_type.

template<class Key, class Allocator = std::allocator<Key>>
iterator GappedIntervalSequence< Key, Allocator >::insert const value_type val,
size_type  point = IST_END
 

Referenced by GappedIntervalSequence< Key, Allocator >::GappedIntervalSequence(), and GappedIntervalSequence< Key, Allocator >::operator=().

template<class Key, class Allocator = std::allocator<Key>>
bool GappedIntervalSequence< Key, Allocator >::isEndNode const GisNode node  )  [static, protected]
 

Referenced by GappedIntervalSequence< Key, Allocator >::decrement(), and GappedIntervalSequence< Key, Allocator >::erase().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::length  )  const
 

Returns the total length of intervals contained in this interval sequence.

Definition at line 801 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::length, and GappedIntervalSequence< Key, Allocator >::root.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::max_size  )  const
 

Definition at line 301 of file GappedIntervalSequence.h.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::nodeCount  )  const
 

Definition at line 807 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::GisNode::subtree_leaves.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator > & GappedIntervalSequence< Key, Allocator >::operator= const GappedIntervalSequence< Key, Allocator > &  ist  ) 
 

Definition at line 231 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::end(), GappedIntervalSequence< Key, Allocator >::end_node, GappedIntervalSequence< Key, Allocator >::insert(), GappedIntervalSequence< Key, Allocator >::leftmost, GappedIntervalSequence< Key, Allocator >::rightmost, and GappedIntervalSequence< Key, Allocator >::root.

template<class Key, class Allocator>
void GappedIntervalSequence< Key, Allocator >::propogateChanges GisNode cur_node,
int64  length_diff,
int64  seq_len_diff,
int64  subtree_diff
[static, protected]
 

Definition at line 625 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::GisNode::length, GappedIntervalSequence< Key, Allocator >::GisNode::parent, GappedIntervalSequence< Key, Allocator >::GisNode::seq_length, and GappedIntervalSequence< Key, Allocator >::GisNode::subtree_leaves.

Referenced by GappedIntervalSequence< Key, Allocator >::erase().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_reverse_iterator GappedIntervalSequence< Key, Allocator >::rbegin  )  const
 

Definition at line 283 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::const_reverse_iterator, and GappedIntervalSequence< Key, Allocator >::end().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::reverse_iterator GappedIntervalSequence< Key, Allocator >::rbegin  ) 
 

Definition at line 277 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::end(), and GappedIntervalSequence< Key, Allocator >::reverse_iterator.

template<class Key, class Allocator>
const GappedIntervalSequence< Key, Allocator >::GisNode * GappedIntervalSequence< Key, Allocator >::recursiveFind size_type point,
const GisNode node
const [protected]
 

Definition at line 670 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::size_type.

Referenced by GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::erase(), and GappedIntervalSequence< Key, Allocator >::find().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::recursiveGetSequenceStart const GisNode node  )  const [protected]
 

Definition at line 743 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::end_node, GappedIntervalSequence< Key, Allocator >::GisNode::left, GappedIntervalSequence< Key, Allocator >::GisNode::parent, GappedIntervalSequence< Key, Allocator >::GisNode::right, GappedIntervalSequence< Key, Allocator >::GisNode::seq_length, and GappedIntervalSequence< Key, Allocator >::sequenceLength().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::recursiveGetStart const GisNode node  )  const [protected]
 

Definition at line 756 of file GappedIntervalSequence.h.

template<class Key, class Allocator>
const GappedIntervalSequence< Key, Allocator >::GisNode * GappedIntervalSequence< Key, Allocator >::recursiveSeqFind size_type point,
const GisNode *const  node
const [protected]
 

Definition at line 696 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::size_type.

Referenced by GappedIntervalSequence< Key, Allocator >::find_seqindex().

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::const_reverse_iterator GappedIntervalSequence< Key, Allocator >::rend  )  const
 

Definition at line 295 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::begin(), and GappedIntervalSequence< Key, Allocator >::const_reverse_iterator.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::reverse_iterator GappedIntervalSequence< Key, Allocator >::rend  ) 
 

Definition at line 289 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::begin(), and GappedIntervalSequence< Key, Allocator >::reverse_iterator.

template<class Key, class Allocator>
GappedIntervalSequence< Key, Allocator >::size_type GappedIntervalSequence< Key, Allocator >::sequenceLength  )  const
 

Definition at line 722 of file GappedIntervalSequence.h.

References GappedIntervalSequence< Key, Allocator >::root, and GappedIntervalSequence< Key, Allocator >::GisNode::seq_length.

Referenced by GappedIntervalSequence< Key, Allocator >::recursiveGetSequenceStart().


Friends And Related Function Documentation

template<class Key, class Allocator = std::allocator<Key>>
friend class __generic_iterator< false > [friend]
 

Definition at line 112 of file GappedIntervalSequence.h.

template<class Key, class Allocator = std::allocator<Key>>
friend class __generic_iterator< true > [friend]
 

Definition at line 113 of file GappedIntervalSequence.h.


Member Data Documentation

template<class Key, class Allocator = std::allocator<Key>>
GisNode GappedIntervalSequence< Key, Allocator >::end_node [protected]
 

placeholder for the end node with a pointer to the root

Definition at line 175 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::end(), GappedIntervalSequence< Key, Allocator >::operator=(), and GappedIntervalSequence< Key, Allocator >::recursiveGetSequenceStart().

template<class Key, class Allocator = std::allocator<Key>>
GisNode* GappedIntervalSequence< Key, Allocator >::leftmost [protected]
 

Left most tree node, for begin() method.

Definition at line 172 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::erase(), and GappedIntervalSequence< Key, Allocator >::operator=().

template<class Key, class Allocator = std::allocator<Key>>
GisNode* GappedIntervalSequence< Key, Allocator >::rightmost [protected]
 

Right most tree node, for end() method.

Definition at line 173 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::erase(), and GappedIntervalSequence< Key, Allocator >::operator=().

template<class Key, class Allocator = std::allocator<Key>>
GisNode* GappedIntervalSequence< Key, Allocator >::root [protected]
 

Root of the tree.

Definition at line 171 of file GappedIntervalSequence.h.

Referenced by GappedIntervalSequence< Key, Allocator >::begin(), GappedIntervalSequence< Key, Allocator >::checkTree(), GappedIntervalSequence< Key, Allocator >::countNodes(), GappedIntervalSequence< Key, Allocator >::empty(), GappedIntervalSequence< Key, Allocator >::erase(), GappedIntervalSequence< Key, Allocator >::find(), GappedIntervalSequence< Key, Allocator >::find_seqindex(), GappedIntervalSequence< Key, Allocator >::length(), GappedIntervalSequence< Key, Allocator >::nodeCount(), GappedIntervalSequence< Key, Allocator >::operator=(), GappedIntervalSequence< Key, Allocator >::sequenceLength(), and GappedIntervalSequence< Key, Allocator >::~GappedIntervalSequence().


The documentation for this class was generated from the following file:
Generated on Mon Aug 19 06:00:53 2013 for sgEvolver by doxygen 1.3.6