libMesh
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
libMesh::LocationMap< T > Class Template Reference

Data structures that enable location-based lookups The key is a hash of the Point location. More...

#include <location_maps.h>

Public Member Functions

void init (MeshBase &)
 
void clear ()
 
void insert (T &)
 
bool empty () const
 
T * find (const Point &, const Real tol=TOLERANCE)
 
Point point_of (const T &) const
 

Protected Member Functions

unsigned int key (const Point &)
 
void fill (MeshBase &)
 

Private Types

typedef std::unordered_multimap< unsigned int, T * > map_type
 

Private Attributes

map_type _map
 
std::vector< Real_lower_bound
 
std::vector< Real_upper_bound
 

Detailed Description

template<typename T>
class libMesh::LocationMap< T >

Data structures that enable location-based lookups The key is a hash of the Point location.

For efficiency we will use a hashed multimap if it is available, otherwise a regular multimap.

Author
Roy Stogner
Date
2008 std::map-like data structure using hashed Points for keys.

Definition at line 53 of file location_maps.h.

Member Typedef Documentation

◆ map_type

template<typename T>
typedef std::unordered_multimap<unsigned int, T *> libMesh::LocationMap< T >::map_type
private

Definition at line 55 of file location_maps.h.

Member Function Documentation

◆ clear()

template<typename T>
void libMesh::LocationMap< T >::clear ( )

Definition at line 59 of file location_maps.h.

References libMesh::LocationMap< T >::_map.

59 { _map.clear(); }

◆ empty()

template<typename T>
bool libMesh::LocationMap< T >::empty ( ) const

Definition at line 63 of file location_maps.h.

References libMesh::LocationMap< T >::_map.

Referenced by libMesh::Parallel::sync_dofobject_data_by_xyz().

63 { return _map.empty(); }

◆ fill()

template<typename T>
void libMesh::LocationMap< T >::fill ( MeshBase )
protected

◆ find()

template<typename T>
T* libMesh::LocationMap< T >::find ( const Point ,
const Real  tol = TOLERANCE 
)

◆ init()

template<typename T>
void libMesh::LocationMap< T >::init ( MeshBase )

◆ insert()

template<typename T>
void libMesh::LocationMap< T >::insert ( T &  )

◆ key()

template<typename T>
unsigned int libMesh::LocationMap< T >::key ( const Point )
protected

◆ point_of()

template<typename T>
Point libMesh::LocationMap< T >::point_of ( const T &  ) const

Member Data Documentation

◆ _lower_bound

template<typename T>
std::vector<Real> libMesh::LocationMap< T >::_lower_bound
private

Definition at line 77 of file location_maps.h.

◆ _map

template<typename T>
map_type libMesh::LocationMap< T >::_map
private

◆ _upper_bound

template<typename T>
std::vector<Real> libMesh::LocationMap< T >::_upper_bound
private

Definition at line 78 of file location_maps.h.


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