WPILibC++ 2023.4.3-108-ge5452e3
Memory.h File Reference

Go to the source code of this file.

Classes

struct  Eigen::internal::smart_copy_helper< T, true >
 
struct  Eigen::internal::smart_copy_helper< T, false >
 
struct  Eigen::internal::smart_memmove_helper< T, true >
 
struct  Eigen::internal::smart_memmove_helper< T, false >
 
class  Eigen::internal::aligned_stack_memory_handler< T >
 
class  Eigen::internal::scoped_array< T >
 
class  Eigen::aligned_allocator< T >
 STL compatible allocator to use with types requiring a non standrad alignment. More...
 
struct  Eigen::aligned_allocator< T >::rebind< U >
 

Namespaces

namespace  Eigen
 Namespace containing all symbols from the Eigen library.
 
namespace  Eigen::internal
 

Macros

#define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED   0
 
#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED   0
 
#define EIGEN_MALLOC_ALREADY_ALIGNED   0
 
#define ei_declare_aligned_stack_constructed_variable(TYPE, NAME, SIZE, BUFFER)
 
#define ei_declare_local_nested_eval(XPR_T, XPR, N, NAME)   typename Eigen::internal::nested_eval<XPR_T,N>::type NAME(XPR)
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW   EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true)
 
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(Scalar, Size)
 

Functions

EIGEN_DEVICE_FUNC void Eigen::internal::throw_std_bad_alloc ()
 
EIGEN_DEVICE_FUNC void * Eigen::internal::handmade_aligned_malloc (std::size_t size, std::size_t alignment=EIGEN_DEFAULT_ALIGN_BYTES)
 
EIGEN_DEVICE_FUNC void Eigen::internal::handmade_aligned_free (void *ptr)
 
void * Eigen::internal::handmade_aligned_realloc (void *ptr, std::size_t size, std::size_t=0)
 
EIGEN_DEVICE_FUNC void Eigen::internal::check_that_malloc_is_allowed ()
 
EIGEN_DEVICE_FUNC void * Eigen::internal::aligned_malloc (std::size_t size)
 
EIGEN_DEVICE_FUNC void Eigen::internal::aligned_free (void *ptr)
 
void * Eigen::internal::aligned_realloc (void *ptr, std::size_t new_size, std::size_t old_size)
 
template<bool Align>
EIGEN_DEVICE_FUNC void * Eigen::internal::conditional_aligned_malloc (std::size_t size)
 
template<>
EIGEN_DEVICE_FUNC void * Eigen::internal::conditional_aligned_malloc< false > (std::size_t size)
 
template<bool Align>
EIGEN_DEVICE_FUNC void Eigen::internal::conditional_aligned_free (void *ptr)
 
template<>
EIGEN_DEVICE_FUNC void Eigen::internal::conditional_aligned_free< false > (void *ptr)
 
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)
 
template<typename T >
EIGEN_DEVICE_FUNC void Eigen::internal::destruct_elements_of_array (T *ptr, std::size_t size)
 
template<typename T >
EIGEN_DEVICE_FUNC T * Eigen::internal::construct_elements_of_array (T *ptr, std::size_t size)
 
template<typename T >
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void Eigen::internal::check_size_for_overflow (std::size_t size)
 
template<typename T >
EIGEN_DEVICE_FUNC T * Eigen::internal::aligned_new (std::size_t size)
 
template<typename T , bool Align>
EIGEN_DEVICE_FUNC T * Eigen::internal::conditional_aligned_new (std::size_t size)
 
template<typename T >
EIGEN_DEVICE_FUNC void Eigen::internal::aligned_delete (T *ptr, std::size_t size)
 
template<typename T , bool Align>
EIGEN_DEVICE_FUNC void Eigen::internal::conditional_aligned_delete (T *ptr, std::size_t size)
 
template<typename T , bool Align>
EIGEN_DEVICE_FUNC T * Eigen::internal::conditional_aligned_realloc_new (T *pts, std::size_t new_size, std::size_t old_size)
 
template<typename T , bool Align>
EIGEN_DEVICE_FUNC T * Eigen::internal::conditional_aligned_new_auto (std::size_t size)
 
template<typename T , bool Align>
T * Eigen::internal::conditional_aligned_realloc_new_auto (T *pts, std::size_t new_size, std::size_t old_size)
 
template<typename T , bool Align>
EIGEN_DEVICE_FUNC void Eigen::internal::conditional_aligned_delete_auto (T *ptr, std::size_t size)
 
template<int Alignment, typename Scalar , typename Index >
EIGEN_DEVICE_FUNC Index Eigen::internal::first_aligned (const Scalar *array, Index size)
 
template<typename Scalar , typename Index >
EIGEN_DEVICE_FUNC Index Eigen::internal::first_default_aligned (const Scalar *array, Index size)
 
template<typename Index >
Index Eigen::internal::first_multiple (Index size, Index base)
 
template<typename T >
EIGEN_DEVICE_FUNC 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 >
EIGEN_DEVICE_FUNC T * Eigen::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::queryCacheSizes (int &l1, int &l2, int &l3)
 
int Eigen::internal::queryL1CacheSize ()
 
int Eigen::internal::queryTopLevelCacheSize ()
 

Macro Definition Documentation

◆ ei_declare_aligned_stack_constructed_variable

#define ei_declare_aligned_stack_constructed_variable (   TYPE,
  NAME,
  SIZE,
  BUFFER 
)
Value:
Eigen::internal::check_size_for_overflow<TYPE>(SIZE); \
TYPE* NAME = (BUFFER)!=0 ? BUFFER : reinterpret_cast<TYPE*>(Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE)); \
Eigen::internal::aligned_stack_memory_handler<TYPE> EIGEN_CAT(NAME,_stack_memory_destructor)((BUFFER)==0 ? NAME : 0,SIZE,true)
#define EIGEN_CAT(a, b)
Definition: Macros.h:912
EIGEN_DEVICE_FUNC void * aligned_malloc(std::size_t size)
Definition: Memory.h:174

◆ ei_declare_local_nested_eval

#define ei_declare_local_nested_eval (   XPR_T,
  XPR,
  N,
  NAME 
)    typename Eigen::internal::nested_eval<XPR_T,N>::type NAME(XPR)

◆ EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED

#define EIGEN_FREEBSD_MALLOC_ALREADY_ALIGNED   0

◆ EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED

#define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED   0

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW   EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true)

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF (   NeedsToAlign)

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE

#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE (   Scalar,
  Size 
)
Value:
((Size)!=Eigen::Dynamic) && \
(((EIGEN_MAX_ALIGN_BYTES>=16) && ((sizeof(Scalar)*(Size))%(EIGEN_MAX_ALIGN_BYTES )==0)) || \
((EIGEN_MAX_ALIGN_BYTES>=32) && ((sizeof(Scalar)*(Size))%(EIGEN_MAX_ALIGN_BYTES/2)==0)) || \
((EIGEN_MAX_ALIGN_BYTES>=64) && ((sizeof(Scalar)*(Size))%(EIGEN_MAX_ALIGN_BYTES/4)==0)) )))
#define EIGEN_MAX_ALIGN_BYTES
Definition: ConfigureVectorization.h:175
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign)
Definition: Memory.h:838
const int Dynamic
This value means that a positive quantity (e.g., a size) is not known at compile-time,...
Definition: Constants.h:22

◆ EIGEN_MALLOC_ALREADY_ALIGNED

#define EIGEN_MALLOC_ALREADY_ALIGNED   0