Flow123d  3.9.0-68a662b83
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DHNeighbSide Class Reference

Class allows to iterate over sides of neighbour. More...

#include <dh_cell_accessor.hh>

Collaboration diagram for DHNeighbSide:
Collaboration graph
[legend]

Public Member Functions

 DHNeighbSide ()
 Default invalid accessor. More...
 
 DHNeighbSide (const DHCellAccessor &dh_cell, unsigned int neighb_idx, unsigned int max_idx)
 Valid accessor allows iterate over neighbor sides. More...
 
bool is_valid () const
 Check validity of accessor (see default constructor of DHCellAccessor) More...
 
void inc ()
 Iterates to next neighbour side. More...
 
bool operator== (const DHNeighbSide &other)
 Comparison of accessors. More...
 
 operator DHCellSide () const
 This class is implicitly convertible to DHCellSide. More...
 

Private Member Functions

bool not_local_cell ()
 Check if cell side of neighbour is not local (allow skip invalid accessors). More...
 

Private Attributes

DHCellAccessor dh_cell_
 Appropriate cell accessor. More...
 
unsigned int neighb_idx_
 Index into neigh_vb array. More...
 
unsigned int max_idx_
 Maximal index into neigh_vb array. More...
 

Detailed Description

Class allows to iterate over sides of neighbour.

Class returns only local cells (owns + ghosts), non-local cells are skipped.

Iterator is defined by:

Note: Class is used only internally. Appropriate range method (DHCellAccessor::neighb_sides) uses convertible iterators and returns corresponding DHCellSide.

Definition at line 352 of file dh_cell_accessor.hh.

Constructor & Destructor Documentation

◆ DHNeighbSide() [1/2]

DHNeighbSide::DHNeighbSide ( )
inline

Default invalid accessor.

Definition at line 355 of file dh_cell_accessor.hh.

◆ DHNeighbSide() [2/2]

DHNeighbSide::DHNeighbSide ( const DHCellAccessor dh_cell,
unsigned int  neighb_idx,
unsigned int  max_idx 
)
inline

Valid accessor allows iterate over neighbor sides.

Parameters
dh_cellElement of lower dim.
neighb_idxIndex of neighbour.
max_idxMaximal index of neighbour, method inc() doesn't set neighb_idx_ on higher value.

Definition at line 364 of file dh_cell_accessor.hh.

Member Function Documentation

◆ inc()

void DHNeighbSide::inc ( )
inline

Iterates to next neighbour side.

Definition at line 379 of file dh_cell_accessor.hh.

◆ is_valid()

bool DHNeighbSide::is_valid ( ) const
inline

Check validity of accessor (see default constructor of DHCellAccessor)

Definition at line 374 of file dh_cell_accessor.hh.

◆ not_local_cell()

bool DHNeighbSide::not_local_cell ( )
inlineprivate

Check if cell side of neighbour is not local (allow skip invalid accessors).

Definition at line 401 of file dh_cell_accessor.hh.

Here is the caller graph for this function:

◆ operator DHCellSide()

DHNeighbSide::operator DHCellSide ( ) const
inline

This class is implicitly convertible to DHCellSide.

Definition at line 393 of file dh_cell_accessor.hh.

◆ operator==()

bool DHNeighbSide::operator== ( const DHNeighbSide other)
inline

Comparison of accessors.

Definition at line 388 of file dh_cell_accessor.hh.

Member Data Documentation

◆ dh_cell_

DHCellAccessor DHNeighbSide::dh_cell_
private

Appropriate cell accessor.

Definition at line 407 of file dh_cell_accessor.hh.

◆ max_idx_

unsigned int DHNeighbSide::max_idx_
private

Maximal index into neigh_vb array.

Definition at line 411 of file dh_cell_accessor.hh.

◆ neighb_idx_

unsigned int DHNeighbSide::neighb_idx_
private

Index into neigh_vb array.

Definition at line 409 of file dh_cell_accessor.hh.


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