Data Structures | Namespaces | Functions

/export/development/ViennaGrid/release/ViennaGrid-1.0.0/viennagrid/detail/domain_iterators.hpp File Reference

Provides the iterators and ranges for the domain. More...

#include <vector>
#include <list>
#include <map>
#include <stack>
#include <assert.h>
#include "viennagrid/forwards.h"

Go to the source code of this file.

Data Structures

class  domain_subcell_iterator< ElementType, MapIterator >
 Iterator over non-vertices and non-cells on a domain. More...
struct  domain_iterators< Config, dim, cell_level >
 Helper for iterator construction for iteration over the whole domain. More...
struct  domain_iterators< Config, 0, cell_level >
 Helper for iterator construction for vertex iteration over the whole domain. More...
struct  domain_iterators< Config, cell_level, cell_level >
 Helper for iterator construction for cell iteration over the whole domain. More...
struct  assert_bracket_operator_access< ContainerType >
 A guard that ensures that operator[] access is possible. Throws a verbose compile time error if access is not possible. More...
struct  assert_bracket_operator_access< std::vector< ElementType > >
 Specialization: Allow operator[] if the underlying container is a std::vector<> More...
struct  assert_bracket_operator_access< std::deque< ElementType > >
 Specialization: Allow operator[] if the underlying container is a std::deque<> More...
class  ncell_range< domain_t< config_type >, dim, false >
 Main range class. Specialization for use with iteration or access to k-cells on the domain. More...
class  const_ncell_range< domain_t< config_type >, dim, false >
 Main const-range class. Specialization for use with const-iteration or access to k-cells on the domain. More...
struct  iterator< viennagrid::ncell_range< T, dim, is_coboundary >, 0 >
 Specialization of the iterator metafunction for returning the correct iterator from a range. More...
struct  iterator< viennagrid::const_ncell_range< T, dim, is_coboundary >, 0 >
 Specialization of the iterator metafunction for returning the correct iterator from a const range. More...
struct  ncell_range< T, dim >
 Meta function for returning a range of n-cells. More...
struct  const_ncell_range< T, dim >
 Meta function for returning a const-range of n-cells. More...

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most functionality resides in this namespace.


namespace  viennagrid::result_of
 

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


Functions

template<long dim, typename DomainConfig >
ncell_range< domain_t
< DomainConfig >, dim > 
ncells (domain_t< DomainConfig > &d)
 Main function for range retrieval. Specialization for iteration over k-cells on the domain.
template<typename DomainConfig >
ncell_proxy< domain_t
< DomainConfig > > 
ncells (domain_t< DomainConfig > &d)
 Main function for range retrieval. Specialization for iteration over k-cells on the domain. Returns only a proxy that must be assigned to a range object.
template<long dim, typename DomainConfig >
const_ncell_range< domain_t
< DomainConfig >, dim > 
ncells (domain_t< DomainConfig > const &d)
 Main function for const range retrieval. Specialization for iteration over k-cells on the domain.
template<typename DomainConfig >
const_ncell_proxy< domain_t
< DomainConfig > > 
ncells (domain_t< DomainConfig > const &d)
 Main function for const range retrieval. Specialization for iteration over k-cells on the domain. Returns only a proxy that must be assigned to a range object.

Detailed Description

Provides the iterators and ranges for the domain.