$extrastylesheet
libMesh::mapvector< Val, index_t > Class Template Reference

#include <mapvector.h>

Inheritance diagram for libMesh::mapvector< Val, index_t >:

List of all members.

Classes

class  const_veclike_iterator
class  veclike_iterator

Public Types

typedef std::map< index_t, Val > maptype

Public Member Functions

Val & operator[] (const index_t &k)
Val operator[] (const index_t &k) const
void erase (index_t i)
void erase (const veclike_iterator &pos)
veclike_iterator begin ()
const_veclike_iterator begin () const
veclike_iterator end ()
const_veclike_iterator end () const

Detailed Description

template<typename Val, typename index_t = unsigned int>
class libMesh::mapvector< Val, index_t >

This mapvector templated class is intended to provide the performance characteristics of a std::map with an interface more closely resembling that of a std::vector, for use with ParallelMesh.

Author:
Roy H. Stogner

Definition at line 38 of file mapvector.h.


Member Typedef Documentation

template<typename Val, typename index_t = unsigned int>
typedef std::map<index_t, Val> libMesh::mapvector< Val, index_t >::maptype

Definition at line 41 of file mapvector.h.


Member Function Documentation

template<typename Val, typename index_t = unsigned int>
veclike_iterator libMesh::mapvector< Val, index_t >::begin ( ) [inline]

Definition at line 124 of file mapvector.h.

Referenced by libMesh::ParallelMesh::active_elements_begin(), libMesh::ParallelMesh::active_local_elements_begin(), libMesh::ParallelMesh::active_local_subdomain_elements_begin(), libMesh::ParallelMesh::active_nodes_begin(), libMesh::ParallelMesh::active_not_local_elements_begin(), libMesh::ParallelMesh::active_pid_elements_begin(), libMesh::ParallelMesh::active_subdomain_elements_begin(), libMesh::ParallelMesh::active_type_elements_begin(), libMesh::ParallelMesh::ancestor_elements_begin(), libMesh::ParallelMesh::assign_unique_ids(), libMesh::ParallelMesh::clear(), libMesh::ParallelMesh::delete_remote_elements(), libMesh::ParallelMesh::elements_begin(), libMesh::ParallelMesh::facelocal_elements_begin(), libMesh::ParallelMesh::fix_broken_node_and_element_numbering(), libMesh::ParallelMesh::level_elements_begin(), libMesh::ParallelMesh::local_elements_begin(), libMesh::ParallelMesh::local_level_elements_begin(), libMesh::ParallelMesh::local_nodes_begin(), libMesh::ParallelMesh::local_not_level_elements_begin(), libMesh::ParallelMesh::nodes_begin(), libMesh::ParallelMesh::not_active_elements_begin(), libMesh::ParallelMesh::not_ancestor_elements_begin(), libMesh::ParallelMesh::not_level_elements_begin(), libMesh::ParallelMesh::not_local_elements_begin(), libMesh::ParallelMesh::not_subactive_elements_begin(), libMesh::ParallelMesh::pid_elements_begin(), libMesh::ParallelMesh::pid_nodes_begin(), libMesh::ParallelMesh::renumber_dof_objects(), libMesh::ParallelMesh::renumber_nodes_and_elements(), libMesh::ParallelMesh::semilocal_elements_begin(), libMesh::ParallelMesh::subactive_elements_begin(), and libMesh::ParallelMesh::type_elements_begin().

                           {
    return veclike_iterator(maptype::begin());
  }
template<typename Val, typename index_t = unsigned int>
const_veclike_iterator libMesh::mapvector< Val, index_t >::begin ( ) const [inline]

Definition at line 128 of file mapvector.h.

                                       {
    return const_veclike_iterator(maptype::begin());
  }
template<typename Val, typename index_t = unsigned int>
veclike_iterator libMesh::mapvector< Val, index_t >::end ( ) [inline]

Definition at line 132 of file mapvector.h.

Referenced by libMesh::ParallelMesh::active_elements_begin(), libMesh::ParallelMesh::active_elements_end(), libMesh::ParallelMesh::active_local_elements_begin(), libMesh::ParallelMesh::active_local_elements_end(), libMesh::ParallelMesh::active_local_subdomain_elements_begin(), libMesh::ParallelMesh::active_local_subdomain_elements_end(), libMesh::ParallelMesh::active_nodes_begin(), libMesh::ParallelMesh::active_nodes_end(), libMesh::ParallelMesh::active_not_local_elements_begin(), libMesh::ParallelMesh::active_not_local_elements_end(), libMesh::ParallelMesh::active_pid_elements_begin(), libMesh::ParallelMesh::active_pid_elements_end(), libMesh::ParallelMesh::active_subdomain_elements_begin(), libMesh::ParallelMesh::active_subdomain_elements_end(), libMesh::ParallelMesh::active_type_elements_begin(), libMesh::ParallelMesh::active_type_elements_end(), libMesh::ParallelMesh::ancestor_elements_begin(), libMesh::ParallelMesh::ancestor_elements_end(), libMesh::ParallelMesh::assign_unique_ids(), libMesh::ParallelMesh::clear(), libMesh::ParallelMesh::delete_remote_elements(), libMesh::ParallelMesh::elements_begin(), libMesh::ParallelMesh::elements_end(), libMesh::ParallelMesh::facelocal_elements_begin(), libMesh::ParallelMesh::facelocal_elements_end(), libMesh::ParallelMesh::fix_broken_node_and_element_numbering(), libMesh::ParallelMesh::level_elements_begin(), libMesh::ParallelMesh::level_elements_end(), libMesh::ParallelMesh::local_elements_begin(), libMesh::ParallelMesh::local_elements_end(), libMesh::ParallelMesh::local_level_elements_begin(), libMesh::ParallelMesh::local_level_elements_end(), libMesh::ParallelMesh::local_nodes_begin(), libMesh::ParallelMesh::local_nodes_end(), libMesh::ParallelMesh::local_not_level_elements_begin(), libMesh::ParallelMesh::local_not_level_elements_end(), libMesh::ParallelMesh::nodes_begin(), libMesh::ParallelMesh::nodes_end(), libMesh::ParallelMesh::not_active_elements_begin(), libMesh::ParallelMesh::not_active_elements_end(), libMesh::ParallelMesh::not_ancestor_elements_begin(), libMesh::ParallelMesh::not_ancestor_elements_end(), libMesh::ParallelMesh::not_level_elements_begin(), libMesh::ParallelMesh::not_level_elements_end(), libMesh::ParallelMesh::not_local_elements_begin(), libMesh::ParallelMesh::not_local_elements_end(), libMesh::ParallelMesh::not_subactive_elements_begin(), libMesh::ParallelMesh::not_subactive_elements_end(), libMesh::mapvector< Elem *, dof_id_type >::operator[](), libMesh::ParallelMesh::pid_elements_begin(), libMesh::ParallelMesh::pid_elements_end(), libMesh::ParallelMesh::pid_nodes_begin(), libMesh::ParallelMesh::pid_nodes_end(), libMesh::ParallelMesh::query_elem(), libMesh::ParallelMesh::query_node_ptr(), libMesh::ParallelMesh::renumber_dof_objects(), libMesh::ParallelMesh::renumber_nodes_and_elements(), libMesh::ParallelMesh::semilocal_elements_begin(), libMesh::ParallelMesh::semilocal_elements_end(), libMesh::ParallelMesh::subactive_elements_begin(), libMesh::ParallelMesh::subactive_elements_end(), libMesh::ParallelMesh::type_elements_begin(), and libMesh::ParallelMesh::type_elements_end().

                         {
    return veclike_iterator(maptype::end());
  }
template<typename Val, typename index_t = unsigned int>
const_veclike_iterator libMesh::mapvector< Val, index_t >::end ( ) const [inline]

Definition at line 136 of file mapvector.h.

                                     {
    return const_veclike_iterator(maptype::end());
  }
template<typename Val, typename index_t = unsigned int>
void libMesh::mapvector< Val, index_t >::erase ( const veclike_iterator pos) [inline]

Definition at line 120 of file mapvector.h.

                                          {
    maptype::erase(pos.it);
  }
template<typename Val, typename index_t = unsigned int>
Val& libMesh::mapvector< Val, index_t >::operator[] ( const index_t &  k) [inline]

Definition at line 43 of file mapvector.h.

Referenced by libMesh::mapvector< Elem *, dof_id_type >::operator[]().

  {
    return maptype::operator[](k);
  }
template<typename Val, typename index_t = unsigned int>
Val libMesh::mapvector< Val, index_t >::operator[] ( const index_t &  k) const [inline]

Definition at line 47 of file mapvector.h.

  {
    typename maptype::const_iterator it = this->find(k);
    return it == this->end().it? Val() : it->second;
  }

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