PLaSK library
Loading...
Searching...
No Matches
plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl Struct Reference

#include <plask/mesh/boundary.hpp>

Inheritance diagram for plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl:
[legend]
Collaboration diagram for plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl:
[legend]

Public Types

typedef decltype(std::begin(std::declval< MeshType >())) MeshBeginIterator
 
typedef decltype(std::end(std::declval< MeshType >())) MeshEndIterator
 
- Public Types inherited from plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >
typedef ValueT value_type
 Type of objects pointed by the iterator.
 
typedef ReferenceT reference
 Type to represent a reference to an object pointed by the iterator.
 

Public Member Functions

 PredicateIteratorImpl (const BoundaryNodeSetWithMeshImpl< MeshType > &boundary, MeshBeginIterator meshIterator)
 
std::size_t dereference () const override
 
void increment () override
 Iterate to next value.
 
bool equal (const typename BoundaryNodeSetImpl::IteratorImpl &other) const override
 
std::unique_ptr< typename BoundaryNodeSetImpl::IteratorImplclone () const override
 Clone this iterator.
 
- Public Member Functions inherited from plask::BoundaryNodeSetWithMeshImpl< MeshType >::IteratorWithMeshImpl
const BoundaryNodeSetWithMeshImpl< MeshType > & getBoundary () const
 
const MeshType & getMesh () const
 
 IteratorWithMeshImpl (const BoundaryNodeSetWithMeshImpl< MeshType > &boundaryImpl)
 
- Public Member Functions inherited from plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >
virtual ~PolymorphicForwardIteratorImpl ()
 Virtual destructor, do nothing.
 
virtual bool equal (const PolymorphicForwardIteratorImpl &other) const =0
 Check if this is equal to other.
 

Public Attributes

MeshBeginIterator meshIterator
 
MeshEndIterator meshIteratorEnd
 
- Public Attributes inherited from plask::BoundaryNodeSetWithMeshImpl< MeshType >::IteratorWithMeshImpl
const BoundaryNodeSetWithMeshImpl< MeshType > & boundaryWithMesh
 

Detailed Description

template<typename MeshT, typename Predicate>
struct plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl

Definition at line 809 of file boundary.hpp.

Member Typedef Documentation

◆ MeshBeginIterator

template<typename MeshT , typename Predicate >
typedef decltype(std::begin(std::declval<MeshType>())) plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::MeshBeginIterator

Definition at line 811 of file boundary.hpp.

◆ MeshEndIterator

template<typename MeshT , typename Predicate >
typedef decltype(std::end(std::declval<MeshType>())) plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::MeshEndIterator

Definition at line 812 of file boundary.hpp.

Constructor & Destructor Documentation

◆ PredicateIteratorImpl()

template<typename MeshT , typename Predicate >
plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::PredicateIteratorImpl ( const BoundaryNodeSetWithMeshImpl< MeshType > &  boundary,
MeshBeginIterator  meshIterator 
)
inline

Definition at line 817 of file boundary.hpp.

Member Function Documentation

◆ clone()

template<typename MeshT , typename Predicate >
std::unique_ptr< typename BoundaryNodeSetImpl::IteratorImpl > plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::clone ( ) const
inlineoverridevirtual

Clone this iterator.

Returns
clone of *this, allocated with new operator (caller is responsible for deleting it)

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 847 of file boundary.hpp.

◆ dereference()

template<typename MeshT , typename Predicate >
std::size_t plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::dereference ( ) const
inlineoverridevirtual
Returns
current value

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 825 of file boundary.hpp.

◆ equal()

template<typename MeshT , typename Predicate >
bool plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::equal ( const typename BoundaryNodeSetImpl::IteratorImpl other) const
inlineoverride

Definition at line 843 of file boundary.hpp.

◆ increment()

template<typename MeshT , typename Predicate >
void plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::increment ( )
inlineoverridevirtual

Iterate to next value.

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 837 of file boundary.hpp.

Member Data Documentation

◆ meshIterator

template<typename MeshT , typename Predicate >
MeshBeginIterator plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::meshIterator

Definition at line 814 of file boundary.hpp.

◆ meshIteratorEnd

template<typename MeshT , typename Predicate >
MeshEndIterator plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl::meshIteratorEnd

Definition at line 815 of file boundary.hpp.


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