aligned_allocator.h File Reference
`#include <stddef.h>`
`#include <memory>`
`#include "hwy/highway_export.h"`

Go to the source code of this file.

## Classes

class | hwy::AlignedDeleter
class | hwy::AlignedFreer

## Namespaces

namespace | hwy
namespace | hwy::detail

## Macros

#define | HWY_ALIGNMENT 64

## Typedefs

using | hwy::AllocPtr = void *(*)(void *opaque, size_t bytes)
using | hwy::FreePtr = void(*)(void *opaque, void *memory)
template<typename T >
using | hwy::AlignedUniquePtr = std::unique_ptr< T, AlignedDeleter >
template<typename T >
using | hwy::AlignedFreeUniquePtr = std::unique_ptr< T, AlignedFreer >

## Functions

HWY_DLLEXPORT void * | hwy::AllocateAlignedBytes (size_t payload_size, AllocPtr alloc_ptr, void *opaque_ptr)
HWY_DLLEXPORT void | hwy::FreeAlignedBytes (const void *aligned_pointer, FreePtr free_ptr, void *opaque_ptr)
template<typename T , typename... Args>
AlignedUniquePtr< T > | hwy::MakeUniqueAlignedWithAlloc (AllocPtr alloc, FreePtr free, void *opaque, Args &&... args)
template<typename T , typename... Args>
AlignedUniquePtr< T > | hwy::MakeUniqueAligned (Args &&... args)
static constexpr size_t | hwy::detail::ShiftCount (size_t n)
template<typename T >
T * | hwy::detail::AllocateAlignedItems (size_t items, AllocPtr alloc_ptr, void *opaque_ptr)
template<typename T , typename... Args>
AlignedUniquePtr< T[]> | hwy::MakeUniqueAlignedArrayWithAlloc (size_t items, AllocPtr alloc, FreePtr free, void *opaque, Args &&... args)
template<typename T , typename... Args>
AlignedUniquePtr< T[]> | hwy::MakeUniqueAlignedArray (size_t items, Args &&... args)
template<typename T >
AlignedFreeUniquePtr< T[]> | hwy::AllocateAligned (const size_t items, AllocPtr alloc, FreePtr free, void *opaque)
template<typename T >
AlignedFreeUniquePtr< T[]> | hwy::AllocateAligned (const size_t items)

## Macro Definition Documentation

## HWY_ALIGNMENT

#define HWY_ALIGNMENT 64