Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
paddedvector.h File Reference
#include <algorithm>
#include <utility>
#include <vector>
#include "gromacs/math/arrayrefwithpadding.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/allocator.h"
#include "gromacs/utility/arrayref.h"
+ Include dependency graph for paddedvector.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares gmx::PaddedRVecVector.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

struct  gmx::detail::PaddingTraits< T >
 Traits classes for handling padding for types used with PaddedVector. More...
 
class  gmx::PaddedVector< T, Allocator >
 PaddedVector is a container of elements in contiguous storage that allocates extra memory for safe SIMD-style loads for operations used in GROMACS. More...
 

Functions

template<typename T >
Index gmx::detail::computePaddedSize (Index numElements)
 Returns the allocation size for PaddedVector that contains numElements elements plus padding for SIMD operations. More...
 
template<typename T , typename AllocatorType >
void gmx::detail::insertPaddingElements (std::vector< T, AllocatorType > *v, Index newPaddedSize)
 Helper function to insert padding elements for most T.
 
template<typename T , typename AllocatorType >
void gmx::detail::insertPaddingElements (std::vector< BasicVector< T >, AllocatorType > *v, Index newPaddedSize)
 Specialization of helper function to insert padding elements, used for BasicVector<T>.