Memory.h File Reference

Go to the source code of this file.

Classes

class  Eigen::aligned_allocator< T >
 STL compatible allocator to use with types requiring a non-standard alignment. More...
 
struct  Eigen::aligned_allocator< T >::rebind< U >
 

Namespaces

 Eigen
 : InteropHeaders
 
 Eigen::internal
 

Macros

#define ei_declare_aligned_stack_constructed_variable(TYPE, NAME, SIZE, BUFFER)
 
#define ei_declare_local_nested_eval(XPR_T, XPR, N, NAME)
 
#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED
 
#define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar, Size)
 
#define EIGEN_MALLOC_ALREADY_ALIGNED
 
#define EIGEN_MALLOC_CHECK_THREAD_LOCAL
 

Functions

template<typename T >
void Eigen::internal::aligned_delete (T *ptr, std::size_t size)
 
void Eigen::internal::aligned_free (void *ptr)
 
void * Eigen::internal::aligned_malloc (std::size_t size)
 
template<typename T >
TEigen::internal::aligned_new (std::size_t size)
 
void * Eigen::internal::aligned_realloc (void *ptr, std::size_t new_size, std::size_t old_size)
 
template<typename T >
EIGEN_ALWAYS_INLINE void Eigen::internal::check_size_for_overflow (std::size_t size)
 
void Eigen::internal::check_that_malloc_is_allowed ()
 
template<typename T , bool Align>
void Eigen::internal::conditional_aligned_delete (T *ptr, std::size_t size)
 
template<typename T , bool Align>
void Eigen::internal::conditional_aligned_delete_auto (T *ptr, std::size_t size)
 
template<bool Align>
void Eigen::internal::conditional_aligned_free (void *ptr)
 
template<>
void Eigen::internal::conditional_aligned_free< false > (void *ptr)
 
template<bool Align>
void * Eigen::internal::conditional_aligned_malloc (std::size_t size)
 
template<>
void * Eigen::internal::conditional_aligned_malloc< false > (std::size_t size)
 
template<typename T , bool Align>
TEigen::internal::conditional_aligned_new (std::size_t size)
 
template<typename T , bool Align>
TEigen::internal::conditional_aligned_new_auto (std::size_t size)
 
template<bool Align>
void * Eigen::internal::conditional_aligned_realloc (void *ptr, std::size_t new_size, std::size_t old_size)
 
template<>
void * Eigen::internal::conditional_aligned_realloc< false > (void *ptr, std::size_t new_size, std::size_t old_size)
 
template<typename T , bool Align>
TEigen::internal::conditional_aligned_realloc_new (T *pts, std::size_t new_size, std::size_t old_size)
 
template<typename T , bool Align>
TEigen::internal::conditional_aligned_realloc_new_auto (T *pts, std::size_t new_size, std::size_t old_size)
 
template<class T , class... Args>
TEigen::internal::construct_at (T *p, Args &&... args)
 
template<typename T >
TEigen::internal::copy_construct_elements_of_array (T *ptr, const T *src, std::size_t size)
 
template<typename T >
TEigen::internal::default_construct_elements_of_array (T *ptr, std::size_t size)
 
template<class T >
void Eigen::internal::destroy_at (T *p)
 
template<typename T >
void Eigen::internal::destruct_elements_of_array (T *ptr, std::size_t size)
 
template<int Alignment, typename Scalar , typename Index >
Index Eigen::internal::first_aligned (const Scalar *array, Index size)
 
template<typename Scalar , typename Index >
Index Eigen::internal::first_default_aligned (const Scalar *array, Index size)
 
template<typename Index >
Index Eigen::internal::first_multiple (Index size, Index base)
 
void Eigen::internal::handmade_aligned_free (void *ptr)
 
void * Eigen::internal::handmade_aligned_malloc (std::size_t size, std::size_t alignment=EIGEN_DEFAULT_ALIGN_BYTES)
 
void * Eigen::internal::handmade_aligned_realloc (void *ptr, std::size_t new_size, std::size_t old_size, std::size_t alignment=EIGEN_DEFAULT_ALIGN_BYTES)
 
template<typename T >
TEigen::internal::move_construct_elements_of_array (T *ptr, T *src, std::size_t size)
 
void Eigen::internal::queryCacheSizes (int &l1, int &l2, int &l3)
 
int Eigen::internal::queryL1CacheSize ()
 
int Eigen::internal::queryTopLevelCacheSize ()
 
template<typename T >
void Eigen::internal::smart_copy (const T *start, const T *end, T *target)
 
template<typename T >
void Eigen::internal::smart_memmove (const T *start, const T *end, T *target)
 
template<typename T >
TEigen::internal::smart_move (T *start, T *end, T *target)
 
template<typename T >
void Eigen::internal::swap (scoped_array< T > &a, scoped_array< T > &b)
 
void Eigen::internal::throw_std_bad_alloc ()
 

Macro Definition Documentation

◆ ei_declare_aligned_stack_constructed_variable

#define ei_declare_aligned_stack_constructed_variable (   TYPE,
  NAME,
  SIZE,
  BUFFER 
)

Definition at line 847 of file Memory.h.

◆ ei_declare_local_nested_eval

#define ei_declare_local_nested_eval (   XPR_T,
  XPR,
  N,
  NAME 
)

Definition at line 853 of file Memory.h.

◆ EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED

#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED

Definition at line 48 of file Memory.h.

◆ EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED

#define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED

Platform checks for aligned malloc functions ***

Definition at line 38 of file Memory.h.

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW

Definition at line 920 of file Memory.h.

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF (   NeedsToAlign)

Implementation of EIGEN_MAKE_ALIGNED_OPERATOR_NEW [_IF] ***

Definition at line 917 of file Memory.h.

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE (   Scalar,
  Size 
)

Definition at line 921 of file Memory.h.

◆ EIGEN_MALLOC_ALREADY_ALIGNED

#define EIGEN_MALLOC_ALREADY_ALIGNED

Definition at line 57 of file Memory.h.

◆ EIGEN_MALLOC_CHECK_THREAD_LOCAL

#define EIGEN_MALLOC_CHECK_THREAD_LOCAL

Definition at line 72 of file Memory.h.