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

Defines the generic layer for handles (generalized references) to elements. More...

#include <iterator>
#include <vector>
#include <map>
#include <algorithm>
#include "viennagrid/meta/typemap.hpp"
#include "viennagrid/storage/id.hpp"
#include "viennagrid/storage/forwards.hpp"

Go to the source code of this file.

Data Structures

struct  const_handle_type< base_container_type, handle_tag >
struct  const_handle_type< base_container_type, id_handle_tag >
struct  const_handle_type< base_container_type, iterator_handle_tag >
struct  const_handle_type< base_container_type, no_handle_tag >
struct  const_handle_type< base_container_type, pointer_handle_tag >
struct  dereference_handle_helper< HandleTagT >
struct  dereference_handle_helper< id_handle_tag >
struct  handle_helper< container_type, value_type, id_handle_tag >
struct  handle_helper< container_type, value_type, iterator_handle_tag >
struct  handle_helper< container_type, value_type, no_handle_tag >
struct  handle_helper< container_type, value_type, pointer_handle_tag >
struct  handle_tag< handle_type >
struct  handle_tag< smart_id< value_type_, base_id_type_ > >
struct  handle_tag< value_type * >
struct  handle_tag< viennagrid::null_type >
struct  handle_type< base_container_type, handle_tag >
struct  handle_type< base_container_type, id_handle_tag >
struct  handle_type< base_container_type, iterator_handle_tag >
struct  handle_type< base_container_type, no_handle_tag >
struct  handle_type< base_container_type, pointer_handle_tag >
struct  value_type< handle_type >
struct  value_type< const value_type_ * >
struct  value_type< smart_id< const value_type_, base_id_type_ > >
struct  value_type< smart_id< value_type_, base_id_type_ > >
struct  value_type< value_type_ * >

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::detail::result_of
 

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


Functions

template<typename ContainerT , typename HandleT >
result_of::value_type< HandleT >
::type & 
dereference_handle (ContainerT &container, HandleT handle)
template<typename ContainerT , typename HandleT >
result_of::value_type< HandleT >
::type const & 
dereference_handle (ContainerT const &container, HandleT handle)
template<typename ContainerT , typename HandleT >
result_of::value_type< HandleT >
::type const & 
dereference_handle_const (ContainerT const &container, HandleT handle)
template<typename container_type , typename value_type , typename handle_tag >
result_of::handle_type
< container_type, handle_tag >
::type 
handle (container_type &container, value_type &value, handle_tag)
template<typename container_type , typename value_type , typename handle_tag >
result_of::const_handle_type
< container_type, handle_tag >
::type 
handle (container_type const &container, value_type const &value, handle_tag)
template<typename container_type , typename handle_type >
bool is_handle_invalid (container_type const &container, handle_type handle)
template<typename container_type , typename handle_type >
bool is_handle_invalid (container_type &container, handle_type handle)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type const &, handle_type &handle, pointer_handle_tag)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type &container, handle_type &handle, iterator_handle_tag)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type const &container, handle_type &handle, iterator_handle_tag)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type &, handle_type &handle, id_handle_tag)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type const &, handle_type &handle, id_handle_tag)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type const &container, handle_type &handle)
template<typename container_type , typename handle_type >
void set_handle_invalid (container_type &container, handle_type &handle)

Detailed Description

Defines the generic layer for handles (generalized references) to elements.