ViennaGrid - The Vienna Grid Library  2.1.0
Data Structures | Namespaces | Functions
viennagrid/mesh/neighbor_iteration.hpp File Reference

Contains definition and implementation of neighbor iteration. More...

#include "viennagrid/mesh/segmentation.hpp"
#include "viennagrid/mesh/coboundary_iteration.hpp"
#include "../forwards.hpp"

Go to the source code of this file.

Data Structures

struct  const_neighbor_range< MeshOrSegmentHandleT, ElementTypeOrTagT, ConnectorElementTypeOrTagT >
 Metafunction for obtaining a const neighbor range of an element type with a connector element type within a mesh/segment. More...
struct  neighbor_range< MeshOrSegmentHandleT, ElementTypeOrTagT, ConnectorElementTypeOrTagT >
 Metafunction for obtaining a neighbor range of an element type with a connector element type within a mesh/segment. More...
class  neighbor_range_wrapper< ElementTypeOrTagT, ConnectorElementTypeOrTagT, ContainerT >
class  neighbor_range_wrapper< ElementTypeOrTagT, ConnectorElementTypeOrTagT, const ContainerT >

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


namespace  viennagrid::detail
 

Namespace for implementation details. Not intended to be used directly by a library user.


namespace  viennagrid::result_of
 

The metafunction layer. Provides type generators that derive the respective type from the mesh configuration.


Functions

template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename mesh_type , typename neigbour_accessor_type >
void create_neighbor_information (mesh_type &mesh_obj, neigbour_accessor_type accessor)
 For internal use only.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename mesh_type >
void create_neighbor_information (mesh_type &mesh_obj)
 For internal use only.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename WrappedConfigT , typename ElementOrHandleT >
result_of::neighbor_range
< viennagrid::mesh
< WrappedConfigT >
, ElementTypeOrTagT,
ConnectorElementTypeOrTagT >
::type 
neighbor_elements (viennagrid::mesh< WrappedConfigT > &mesh_obj, ElementOrHandleT const &element_or_handle)
 Obtaines a neighbor range of an element within a mesh. This function caches the neighbor information and re-creates it if the cached information is out of date. The worst case runtime of a re-creation is linear in the number of elements of type ConnectorElementTypeOrTagT time the number of elements of type ElementTypeOrTagT within the mesh.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename WrappedConfigT , typename ElementOrHandleT >
result_of::const_neighbor_range
< viennagrid::mesh
< WrappedConfigT >
, ElementTypeOrTagT,
ConnectorElementTypeOrTagT >
::type 
neighbor_elements (viennagrid::mesh< WrappedConfigT > const &mesh_obj, ElementOrHandleT const &element_or_handle)
 Obtaines a const neighbor range of an element within a mesh. This function caches the neighbor information and re-creates it if the cached information is out of date. The worst case runtime of a re-creation is linear in the number of elements of type ConnectorElementTypeOrTagT time the number of elements of type ElementTypeOrTagT within the mesh.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename SegmentationT , typename ElementOrHandleT >
result_of::neighbor_range
< segment_handle
< SegmentationT >
, ElementTypeOrTagT,
ConnectorElementTypeOrTagT >
::type 
neighbor_elements (segment_handle< SegmentationT > &segment, ElementOrHandleT const &element_or_handle)
 Obtaines a neighbor range of an element within a segment. This function caches the neighbor information and re-creates it if the cached information is out of date. The worst case runtime of a re-creation is linear in the number of elements of type ConnectorElementTypeOrTagT time the number of elements of type ElementTypeOrTagT within the segment.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename SegmentationT , typename ElementOrHandleT >
result_of::const_neighbor_range
< segment_handle
< SegmentationT >
, ElementTypeOrTagT,
ConnectorElementTypeOrTagT >
::type 
neighbor_elements (segment_handle< SegmentationT > const &segment, ElementOrHandleT const &element_or_handle)
 Obtaines a const neighbor range of an element within a segment. This function caches the neighbor information and re-creates it if the cached information is out of date. The worst case runtime of a re-creation is linear in the number of elements of type ConnectorElementTypeOrTagT time the number of elements of type ElementTypeOrTagT within the segment.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename neigbour_accessor_type , typename ElementTag , typename WrappedConfigT >
viennagrid::detail::container_range_wrapper
< typename
neigbour_accessor_type::value_type > 
neighbor_elements (neigbour_accessor_type accessor, viennagrid::element< ElementTag, WrappedConfigT > &element)
 For internal use only.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename neigbour_accessor_type , typename ElementTag , typename WrappedConfigT >
viennagrid::detail::container_range_wrapper
< const typename
neigbour_accessor_type::value_type > 
neighbor_elements (neigbour_accessor_type const accessor, viennagrid::element< ElementTag, WrappedConfigT > const &element)
 For internal use only.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename neigbour_accessor_type , typename WrappedConfigT , typename ElementOrHandleT >
viennagrid::detail::container_range_wrapper
< typename
neigbour_accessor_type::value_type > 
neighbor_elements (viennagrid::mesh< WrappedConfigT > &mesh_obj, neigbour_accessor_type accessor, ElementOrHandleT &element_or_handle)
 For internal use only.
template<typename ElementTypeOrTagT , typename ConnectorElementTypeOrTagT , typename neigbour_accessor_type , typename WrappedConfigT , typename ElementOrHandleT >
viennagrid::detail::container_range_wrapper
< const typename
neigbour_accessor_type::value_type > 
neighbor_elements (viennagrid::mesh< WrappedConfigT > const &mesh_obj, neigbour_accessor_type const accessor, ElementOrHandleT const &element_or_handle)
 For internal use only.

Detailed Description

Contains definition and implementation of neighbor iteration.