All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Public Member Functions | List of all members
paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT > Class Template Reference

this class adapts Simple cycle to start from last changed position More...

#include <simple_cycle.hpp>

Inheritance diagram for paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT >:
paal::data_structures::simple_cycle< CycleEl, IdxT >

Public Member Functions

template<typename Iter >
 Simplecycle_start_from_last_change (Iter b, Iter e)
 constructor More...
 
void flip (const CycleEl &begin, const CycleEl &end)
 flip remembers last changed position More...
 
Base::vertex_iterator vbegin () const
 vbegin starts from last flip position More...
 
- Public Member Functions inherited from paal::data_structures::simple_cycle< CycleEl, IdxT >
template<typename Iter >
 simple_cycle (Iter begin, Iter end)
 constructor More...
 
void flip (const CycleEl &begin, const CycleEl &end)
 
std::size_t size () const
 number of elements in the cycle More...
 
CycleEl next (const CycleEl &ce) const
 next element in the cycle More...
 
vertex_iterator vbegin (const CycleEl &el) const
 begin of the vertices range starting at el More...
 
vertex_iterator vbegin () const
 begin of the vertices range More...
 
vertex_iterator vend () const
 end of the vertices range More...
 
vertices get_vertices_range (const CycleEl &el) const
 returns range of vertices starting at el More...
 
vertices get_vertices_range () const
 returns range of vertices More...
 
edges get_edge_range (const CycleEl &el) const
 returns edges range starting at el More...
 
edges get_edge_range () const
 returns edges range More...
 

Additional Inherited Members

- Public Types inherited from paal::data_structures::simple_cycle< CycleEl, IdxT >
using cycle_el_pair = std::pair< CycleEl, CycleEl >
 
using cycle_element = CycleEl
 
using vertices = boost::iterator_range< vertex_iterator >
 
using edges = boost::iterator_range< edge_iterator >
 
- Protected Types inherited from paal::data_structures::simple_cycle< CycleEl, IdxT >
using SorsMap = std::vector< IdxT >
 
- Protected Member Functions inherited from paal::data_structures::simple_cycle< CycleEl, IdxT >
void link (IdxT x, IdxT y)
 connects two vertices represented by ids More...
 
void partial_reverse (IdxT x, IdxT y)
 after this operation links from x to y are connected i reverse order, after this function call cycle is in inconsistent state More...
 
IdxT to_idx (const CycleEl &ce) const
 vertex to idx More...
 
IdxT next_idx (IdxT i) const
 returns next idx in the cycle More...
 
IdxT prev_idx (IdxT i) const
 returns previous idx More...
 
const CycleEl & from_idx (IdxT i) const
 idx to vertex More...
 
IdxT add (const CycleEl &el)
 ads new element to cycle data structures More...
 
- Protected Attributes inherited from paal::data_structures::simple_cycle< CycleEl, IdxT >
bimap< CycleEl, IdxT > m_cycle_idx
 mapping from elements to indexes
 
SorsMap m_predecessor_map
 predecessors
 
SorsMap m_successor_map
 successors
 

Detailed Description

template<typename CycleEl, typename IdxT = int>
class paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT >

this class adapts Simple cycle to start from last changed position

Template Parameters
CycleEl
IdxT

Definition at line 471 of file simple_cycle.hpp.

Constructor & Destructor Documentation

template<typename CycleEl , typename IdxT = int>
template<typename Iter >
paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT >::Simplecycle_start_from_last_change ( Iter  b,
Iter  e 
)
inline

constructor

Template Parameters
Iter
Parameters
b
e

Definition at line 483 of file simple_cycle.hpp.

Member Function Documentation

template<typename CycleEl , typename IdxT = int>
void paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT >::flip ( const CycleEl &  begin,
const CycleEl &  end 
)
inline

flip remembers last changed position

Parameters
begin
end

Definition at line 492 of file simple_cycle.hpp.

template<typename CycleEl , typename IdxT = int>
Base::vertex_iterator paal::data_structures::Simplecycle_start_from_last_change< CycleEl, IdxT >::vbegin ( ) const
inline

vbegin starts from last flip position

Returns

Definition at line 503 of file simple_cycle.hpp.


The documentation for this class was generated from the following file: