MySQL 8.3.0
Source Code Documentation
aligned_alloc.h File Reference

Implementation bits and pieces for aligned allocations. More...

#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <limits>
#include <memory>
#include <utility>
#include "my_compiler.h"
#include "storage/innobase/include/detail/ut/allocator_traits.h"
#include "storage/innobase/include/detail/ut/helper.h"
#include "storage/innobase/include/detail/ut/pfs.h"

Go to the source code of this file.

Classes

struct  ut::detail::Aligned_alloc_impl
 
struct  ut::detail::Aligned_alloc_metadata< Meta_1_type, Meta_2_type >
 Memory layout representation of metadata segment guaranteed by the inner workings of Aligned_alloc_impl. More...
 
struct  ut::detail::Aligned_alloc
 Aligned allocation routines. More...
 
struct  ut::detail::Aligned_alloc_pfs
 Aligned allocation routines which are instrumented through PFS (performance-schema). More...
 
struct  ut::detail::select_alloc_impl< Pfs_memory_instrumentation_on >
 Simple utility metafunction which selects appropriate allocator variant (implementation) depending on the input parameter(s). More...
 
struct  ut::detail::select_alloc_impl< true >
 
struct  ut::detail::Aligned_alloc_< Impl >
 Small wrapper which utilizes SFINAE to dispatch the call to appropriate aligned allocator implementation. More...
 

Namespaces

namespace  ut
 This file contains a set of libraries providing overloads for regular dynamic allocation routines which allow for opt-in memory instrumentation through performance schema memory engine (PFS).
 
namespace  ut::detail
 

Typedefs

template<bool Pfs_memory_instrumentation_on>
using ut::detail::select_alloc_impl_t = typename select_alloc_impl< Pfs_memory_instrumentation_on >::type
 Just a small helper type which saves us some keystrokes. More...
 

Detailed Description

Implementation bits and pieces for aligned allocations.