PLaSK library
|
Set of boundary conditions for given mesh type and boundary condition description type. More...
#include <plask/mesh/boundary_conditions.hpp>
Public Types | |
typedef BoundaryT | Boundary |
Boundary type for a mesh of type MeshType. | |
typedef Boundary::MeshType | MeshType |
type of mesh | |
typedef ValueT | ValueType |
type which describes boundary condition | |
typedef BoundaryCondition< Boundary, ValueType > | Element |
One boundary-condition pair. | |
typedef elements_container_t::iterator | iterator |
typedef elements_container_t::const_iterator | const_iterator |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
template<typename... ArgsTypes> | |
BoundaryConditions (ArgsTypes &&... args) | |
Delegate all constructors to underline container (which is std::list<Element>). | |
iterator | getIteratorForIndex (std::size_t index) |
Get iterator to element with given index . | |
const_iterator | getIteratorForIndex (std::size_t index) const |
Get iterator to element with given index . | |
Element & | operator[] (std::size_t index) |
Get reference to boundary condition with given index . | |
const Element & | operator[] (std::size_t index) const |
Get const reference to boundary condition with given index . | |
iterator | add (Element &&element) |
Add new boundary condition to this (to end of elements list). | |
template<typename... ConditionArgumentsTypes> | |
iterator | add (Boundary &&place, ConditionArgumentsTypes &&... value_args) |
Add new boundary condition to this (to end of elements list). | |
iterator | insert (std::size_t index, Element &&element) |
Insert new boundary condition to this at specified position. | |
template<typename... ConditionArgumentsTypes> | |
iterator | insert (std::size_t index, Boundary &&place, ConditionArgumentsTypes &&... value_args) |
Insert new boundary condition to this at specified position. | |
void | clear () |
Delete all boundary conditions from this set. | |
void | erase (iterator to_erase) |
Remove the element point by to_erase from list. | |
void | erase (iterator first, iterator last) |
Remove the elements in the range [first, last) from list. | |
void | erase (std::size_t index) |
Remove the element with given index from list. | |
std::size_t | size () const |
Get number of elements. | |
bool | empty () const |
Check if this is empty. | |
BoundaryConditionsWithMesh< Boundary, ValueType > | get (const typename Boundary::MeshType &mesh, const shared_ptr< const GeometryD< MeshType::DIM > > &geometry) const |
Get BoundaryConditionsWithMesh<Boundary,ValueType> | |
BoundaryConditionsWithMesh< Boundary, ValueType > | get (const shared_ptr< const typename Boundary::MeshType > &mesh, const shared_ptr< const GeometryD< MeshType::DIM > > &geometry) const |
Get BoundaryConditionsWithMesh<Boundary,ValueType> | |
BoundaryConditionsWithMesh< Boundary, ValueType > | operator() (const MeshType &mesh, const shared_ptr< const GeometryD< MeshType::DIM > > &geometry) const |
Get BoundaryConditionsWithMesh<Boundary,ValueType> | |
BoundaryConditionsWithMesh< Boundary, ValueType > | operator() (const shared_ptr< const MeshType > &mesh, const shared_ptr< const GeometryD< MeshType::DIM > > &geometry) const |
Get BoundaryConditionsWithMesh<Boundary,ValueType> | |
Set of boundary conditions for given mesh type and boundary condition description type.
BoundaryT | type of boundary |
ValueT | type which describe boundary condition Boundaries |
Definition at line 197 of file boundary_conditions.hpp.
typedef BoundaryT plask::BoundaryConditions< BoundaryT, ValueT >::Boundary |
Boundary type for a mesh of type MeshType.
Definition at line 199 of file boundary_conditions.hpp.
typedef elements_container_t::const_iterator plask::BoundaryConditions< BoundaryT, ValueT >::const_iterator |
Definition at line 212 of file boundary_conditions.hpp.
typedef BoundaryCondition<Boundary, ValueType> plask::BoundaryConditions< BoundaryT, ValueT >::Element |
One boundary-condition pair.
Definition at line 204 of file boundary_conditions.hpp.
typedef elements_container_t::iterator plask::BoundaryConditions< BoundaryT, ValueT >::iterator |
Definition at line 211 of file boundary_conditions.hpp.
typedef Boundary::MeshType plask::BoundaryConditions< BoundaryT, ValueT >::MeshType |
type of mesh
Definition at line 200 of file boundary_conditions.hpp.
typedef ValueT plask::BoundaryConditions< BoundaryT, ValueT >::ValueType |
type which describes boundary condition
Definition at line 201 of file boundary_conditions.hpp.
|
inline |
Delegate all constructors to underline container (which is std::list<Element>).
args | arguments to delegate |
Definition at line 231 of file boundary_conditions.hpp.
|
inline |
Add new boundary condition to this (to end of elements list).
It doesn't invalidate any iterators. It has constant time complexity.
place | boundary |
value_args | arguments for condition constructor, can be just one argument of ValueType to use copy/move-constructor |
Definition at line 308 of file boundary_conditions.hpp.
|
inline |
Add new boundary condition to this (to end of elements list).
It doesn't invalidate any iterators. It has constant time complexity.
element | boundary condition to add |
Definition at line 294 of file boundary_conditions.hpp.
|
inline |
Definition at line 214 of file boundary_conditions.hpp.
|
inline |
Definition at line 215 of file boundary_conditions.hpp.
|
inline |
Delete all boundary conditions from this set.
Definition at line 344 of file boundary_conditions.hpp.
|
inline |
Check if this is empty.
It has constant time complexity.
true
only if this container contains no conditions boundaries Definition at line 399 of file boundary_conditions.hpp.
|
inline |
Definition at line 217 of file boundary_conditions.hpp.
|
inline |
Definition at line 218 of file boundary_conditions.hpp.
Remove the elements in the range [first, last) from list.
It doesn't invalidate any iterators from outside of deleted range. It has linear time complexity dependent on the length of the range.
first,last | range of elements to remove |
Definition at line 364 of file boundary_conditions.hpp.
|
inline |
Remove the element point by to_erase
from list.
It doesn't invalidate any iterators other than to_erase
. It has constant time complexity.
to_erase | iterator which show element to erase |
Definition at line 354 of file boundary_conditions.hpp.
|
inline |
Remove the element with given index
from list.
Do nothing if index
is not valid.
It doesn't invalidate any iterators which not point to deleted element. It has linear time complexity.
index | index of element to remove |
Definition at line 377 of file boundary_conditions.hpp.
|
inline |
Get BoundaryConditionsWithMesh<Boundary,ValueType>
mesh | mesh |
geometry | geometry at which the boundary conditions are defines |
Definition at line 427 of file boundary_conditions.hpp.
|
inline |
Get BoundaryConditionsWithMesh<Boundary,ValueType>
mesh | mesh |
Definition at line 407 of file boundary_conditions.hpp.
|
inline |
Get iterator to element with given index
.
This method has linear time complexity.
[in] | index | index of element |
index
or end()
if index
is not valid Definition at line 240 of file boundary_conditions.hpp.
|
inline |
Get iterator to element with given index
.
This method has linear time complexity.
[in] | index | index of element |
index
or end()
if index
is not valid Definition at line 253 of file boundary_conditions.hpp.
|
inline |
Insert new boundary condition to this at specified position.
It doesn't invalidate any iterators. It has constant time complexity.
index | insert position |
place | boundary |
value_args | arguments for condition constructor, can be just one argument of ValueType to use copy/move-constructor |
Definition at line 337 of file boundary_conditions.hpp.
|
inline |
Insert new boundary condition to this at specified position.
It doesn't invalidate any iterators. It has constant time complexity.
index | insert position |
element | boundary condition to add |
Definition at line 321 of file boundary_conditions.hpp.
|
inline |
Get BoundaryConditionsWithMesh<Boundary,ValueType>
mesh | mesh |
geometry | geometry at which the boundary conditions are defines |
Definition at line 437 of file boundary_conditions.hpp.
|
inline |
Get BoundaryConditionsWithMesh<Boundary,ValueType>
mesh | mesh |
geometry | geometry at which the boundary conditions are defines |
Definition at line 447 of file boundary_conditions.hpp.
|
inline |
Get reference to boundary condition with given index
.
This method has linear time complexity.
index | index of element |
index
OutOfBoundsException | if index is not valid |
Definition at line 267 of file boundary_conditions.hpp.
|
inline |
Get const reference to boundary condition with given index
.
This method has linear time complexity.
index | index of element |
index
OutOfBoundsException | if index is not valid |
Definition at line 281 of file boundary_conditions.hpp.
|
inline |
Get number of elements.
This method has linear time complexity.
Definition at line 389 of file boundary_conditions.hpp.