CEPS  24.01
Cardiac ElectroPhysiology Simulator
AbstractSelector< _Iterator > Class Template Referenceabstract

Detailed Description

template<class _Iterator>
class AbstractSelector< _Iterator >

Definition at line 35 of file AbstractSelector.hpp.

#include <AbstractSelector.hpp>

Inheritance diagram for AbstractSelector< _Iterator >:
[legend]

Public Types

using Object = typename std::iterator_traits< _Iterator >::value_type
 Type of object which is selected. More...
 
using Selector = std::function< CepsBool(Object)>
 Selection function. More...
 

Public Member Functions

AbstractSelectoroperator= (const AbstractSelector &that)
 Assignment operator. More...
 
virtual ~AbstractSelector ()=default
 Virtual destructor needed for polymorphism. More...
 
void onlyOnBoundary (CepsBool value=true)
 Choose only objects that are on boundary. More...
 
void onlyOnThisProc (CepsBool value=true)
 Choose only object that belongs to this proc. More...
 
void appendSelectedTo (CepsVector< Object > *selected)
 Puts selected object at the end of given vector. More...
 
CepsVector< ObjectgetSelected () const
 Get selected, read only. More...
 
virtual void clearSelection ()
 Clears selection. More...
 
virtual void reset ()
 Clears selection, set proc and bdry options to false. More...
 
virtual void selectBetween (_Iterator first, _Iterator last)=0
 Do the selection on elements between given iterators. More...
 

Protected Member Functions

 AbstractSelector ()
 Default constructor. More...
 
 AbstractSelector (const AbstractSelector &that)=default
 Copy constructor. More...
 
void internalRun (Selector *selector, _Iterator first, _Iterator last)
 Adds to the given selector the boundary and proc criteria. More...
 
void internalRun2 (Selector *selector, _Iterator first, _Iterator last)
 Performs the selection. More...
 

Protected Attributes

CepsBool m_keepOnBoundary
 On top of selector, keep only objects on boundary. More...
 
CepsBool m_keepOnThisProc
 On top of selector, keep only objects owned by this proc. More...
 
CepsVector< Objectm_selected
 The result of selection. More...
 

Member Typedef Documentation

◆ Object

template<class _Iterator >
using AbstractSelector< _Iterator >::Object = typename std::iterator_traits<_Iterator>::value_type

Type of object which is selected.

Definition at line 41 of file AbstractSelector.hpp.

◆ Selector

template<class _Iterator >
using AbstractSelector< _Iterator >::Selector = std::function<CepsBool (Object)>

Selection function.

Definition at line 43 of file AbstractSelector.hpp.

Constructor & Destructor Documentation

◆ ~AbstractSelector()

template<class _Iterator >
virtual AbstractSelector< _Iterator >::~AbstractSelector ( )
virtualdefault

Virtual destructor needed for polymorphism.

◆ AbstractSelector() [1/2]

template<class _Iterator >
AbstractSelector< _Iterator >::AbstractSelector ( )
protected

Default constructor.

◆ AbstractSelector() [2/2]

template<class _Iterator >
AbstractSelector< _Iterator >::AbstractSelector ( const AbstractSelector< _Iterator > &  that)
protecteddefault

Copy constructor.

Member Function Documentation

◆ appendSelectedTo()

template<class _Iterator >
void AbstractSelector< _Iterator >::appendSelectedTo ( CepsVector< Object > *  selected)

Puts selected object at the end of given vector.

◆ clearSelection()

template<class _Iterator >
virtual void AbstractSelector< _Iterator >::clearSelection ( )
virtual

Clears selection.

◆ getSelected()

template<class _Iterator >
CepsVector<Object> AbstractSelector< _Iterator >::getSelected ( ) const

Get selected, read only.

◆ internalRun()

template<class _Iterator >
void AbstractSelector< _Iterator >::internalRun ( Selector selector,
_Iterator  first,
_Iterator  last 
)
protected

Adds to the given selector the boundary and proc criteria.

◆ internalRun2()

template<class _Iterator >
void AbstractSelector< _Iterator >::internalRun2 ( Selector selector,
_Iterator  first,
_Iterator  last 
)
protected

Performs the selection.

◆ onlyOnBoundary()

template<class _Iterator >
void AbstractSelector< _Iterator >::onlyOnBoundary ( CepsBool  value = true)

Choose only objects that are on boundary.

◆ onlyOnThisProc()

template<class _Iterator >
void AbstractSelector< _Iterator >::onlyOnThisProc ( CepsBool  value = true)

Choose only object that belongs to this proc.

◆ operator=()

template<class _Iterator >
AbstractSelector& AbstractSelector< _Iterator >::operator= ( const AbstractSelector< _Iterator > &  that)

Assignment operator.

◆ reset()

template<class _Iterator >
virtual void AbstractSelector< _Iterator >::reset ( )
virtual

Clears selection, set proc and bdry options to false.

Reimplemented in AttributesSelector< _Iterator >.

◆ selectBetween()

template<class _Iterator >
virtual void AbstractSelector< _Iterator >::selectBetween ( _Iterator  first,
_Iterator  last 
)
pure virtual

Do the selection on elements between given iterators.

Implemented in SphereSelector< _Iterator >, CustomSelector< _Iterator >, BoundarySelector< _Iterator >, and AttributesSelector< _Iterator >.

Field Documentation

◆ m_keepOnBoundary

template<class _Iterator >
CepsBool AbstractSelector< _Iterator >::m_keepOnBoundary
protected

On top of selector, keep only objects on boundary.

Definition at line 100 of file AbstractSelector.hpp.

◆ m_keepOnThisProc

template<class _Iterator >
CepsBool AbstractSelector< _Iterator >::m_keepOnThisProc
protected

On top of selector, keep only objects owned by this proc.

Definition at line 101 of file AbstractSelector.hpp.

◆ m_selected

template<class _Iterator >
CepsVector<Object> AbstractSelector< _Iterator >::m_selected
protected

The result of selection.

Definition at line 102 of file AbstractSelector.hpp.


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