PLaSK library
Loading...
Searching...
No Matches
plask::StdSetBoundaryImpl Struct Reference

Implementation of boundary logic which holds a set of node indices in std::set. More...

#include <plask/mesh/boundary.hpp>

Inheritance diagram for plask::StdSetBoundaryImpl:
[legend]
Collaboration diagram for plask::StdSetBoundaryImpl:
[legend]

Public Types

typedef std::set< std::size_t > StdNodeSet
 
typedef PolymorphicForwardIteratorWrapperImpl< StdNodeSet::const_iterator, std::size_t, std::size_t > IteratorImpl
 
- Public Types inherited from plask::BoundaryNodeSetImpl
typedef PolymorphicForwardIteratorImpl< std::size_t, std::size_t > IteratorImpl
 Base class for boundary iterator implementation.
 
typedef PolymorphicForwardIterator< IteratorImplIterator
 Boundary iterator type.
 
typedef Iterator const_iterator
 iterator over indexes of mesh
 
typedef const_iterator iterator
 

Public Member Functions

 StdSetBoundaryImpl (StdNodeSet set)
 
bool contains (std::size_t mesh_index) const override
 Check if boundary contains point with given index.
 
BoundaryNodeSetImpl::const_iterator begin () const override
 Get begin iterator over boundary points.
 
BoundaryNodeSetImpl::const_iterator end () const override
 Get end iterator over boundary points.
 
std::size_t size () const override
 Get number of points in this boundary.
 
bool empty () const override
 Check if this represents empty set of indexes.
 
- Public Member Functions inherited from plask::BoundaryNodeSetImpl
virtual ~BoundaryNodeSetImpl ()
 

Public Attributes

StdNodeSet set
 

Detailed Description

Implementation of boundary logic which holds a set of node indices in std::set.

It serves the node indices in increasing order.

Definition at line 295 of file boundary.hpp.

Member Typedef Documentation

◆ IteratorImpl

typedef PolymorphicForwardIteratorWrapperImpl<StdNodeSet::const_iterator, std::size_t, std::size_t> plask::StdSetBoundaryImpl::IteratorImpl

Definition at line 299 of file boundary.hpp.

◆ StdNodeSet

Definition at line 297 of file boundary.hpp.

Constructor & Destructor Documentation

◆ StdSetBoundaryImpl()

plask::StdSetBoundaryImpl::StdSetBoundaryImpl ( StdNodeSet  set)
inline

Definition at line 303 of file boundary.hpp.

Member Function Documentation

◆ begin()

BoundaryNodeSetImpl::const_iterator plask::StdSetBoundaryImpl::begin ( ) const
inlineoverridevirtual

Get begin iterator over boundary points.

Returns
begin iterator over boundary points

Implements plask::BoundaryNodeSetImpl.

Definition at line 309 of file boundary.hpp.

◆ contains()

bool plask::StdSetBoundaryImpl::contains ( std::size_t  mesh_index) const
inlineoverridevirtual

Check if boundary contains point with given index.

Parameters
mesh_indexvalid index of point in mesh
Returns
true only if point with index mesh_index in mesh lies on boundary

Implements plask::BoundaryNodeSetImpl.

Definition at line 305 of file boundary.hpp.

◆ empty()

bool plask::StdSetBoundaryImpl::empty ( ) const
inlineoverridevirtual

Check if this represents empty set of indexes.

Returns
true only if this represents empty set of indexes

Reimplemented from plask::BoundaryNodeSetImpl.

Definition at line 321 of file boundary.hpp.

◆ end()

BoundaryNodeSetImpl::const_iterator plask::StdSetBoundaryImpl::end ( ) const
inlineoverridevirtual

Get end iterator over boundary points.

Returns
end iterator over boundary points

Implements plask::BoundaryNodeSetImpl.

Definition at line 313 of file boundary.hpp.

◆ size()

std::size_t plask::StdSetBoundaryImpl::size ( ) const
inlineoverridevirtual

Get number of points in this boundary.

Default implementation just use std::distance(begin(), end()) which iterates over all indexes and can be slow, so this is often reimplemented in subclasses.

Returns
number of points in this boundary

Reimplemented from plask::BoundaryNodeSetImpl.

Definition at line 317 of file boundary.hpp.

Member Data Documentation

◆ set

StdNodeSet plask::StdSetBoundaryImpl::set

Definition at line 301 of file boundary.hpp.


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