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. |
Provides a generic layer for container operations.