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

Generic implementation of a collection consisting of compile-time dispatched keys and values. More...

#include "viennagrid/meta/utils.hpp"
#include "viennagrid/meta/typemap.hpp"

Go to the source code of this file.

Data Structures

class  collection< typemap_ >
 A collection is a compile-time map which returns objects of (possibly distinct) type based on the provided key type. More...
class  collection_layer< viennagrid::null_type >
class  collection_layer< viennagrid::typelist< viennagrid::static_pair< key_, value_ >, tail > >
struct  lookup< viennagrid::collection< typemap >, key_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 KeyTypeT , typename TypeMapT >
viennagrid::detail::result_of::lookup
< TypeMapT, typename
viennagrid::detail::remove_const
< KeyTypeT >::type >::type & 
get (collection< TypeMapT > &c)
 Generic accessor function for accessing the respective value type identified by the provided type from a collection. Non-const version.
template<typename KeyTypeT , typename TypeMapT >
viennagrid::detail::result_of::lookup
< TypeMapT, typename
viennagrid::detail::remove_const
< KeyTypeT >::type >::type
const & 
get (collection< TypeMapT > const &c)
 Generic accessor function for accessing the respective value type identified by the provided type from a collection. Const version.

Detailed Description

Generic implementation of a collection consisting of compile-time dispatched keys and values.