Namespaces | Functions

/export/development/ViennaGrid/release/ViennaGrid-1.0.0/viennagrid/traits/container.hpp File Reference

Provides a generic layer for container operations. More...

#include <vector>
#include <limits>
#include "viennagrid/forwards.h"

Go to the source code of this file.

Namespaces

namespace  viennagrid
 

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


namespace  viennagrid::traits
 

A generic layer for accessing containers such as std::vector, std::deque, std::map, etc.


Functions

template<typename T >
void reserve (T &t, std::size_t new_size)
 Reserve memory in a container. Default case: Do nothing, because the container might not have a reserve() function.
template<typename T , typename A >
void reserve (std::vector< T, A > &vec, std::size_t new_size)
 Reserve memory in a vector.
template<typename T >
void resize (T &t, std::size_t new_size)
 Resize a container. Default case: Do nothing, because the container might not have a resize() function.
template<typename T , typename A >
void resize (std::vector< T, A > &vec, std::size_t new_size)
 Resize a vector.
template<typename T >
std::size_t size (T &t)
 Generic determination of the size of a container. Assuming a .size() member by default. Can be overloaded for user types.
template<typename T >
std::size_t capacity (T &t)
 Capacity of a container. Default case: 'infinite'.
template<typename T , typename A >
std::size_t capacity (std::vector< T, A > &vec, std::size_t new_size)
 Capacity of a container. Overload for a std::vector.

Detailed Description

Provides a generic layer for container operations.