Embedded Template Library  1.0
memory.h File Reference
#include "platform.h"
#include "algorithm.h"
#include "type_traits.h"
#include "iterator.h"
#include "utility.h"
#include "nullptr.h"
#include "alignment.h"
#include "placement_new.h"
#include <assert.h>
#include <string.h>
#include <memory>

Go to the source code of this file.

Classes

struct  etl::default_delete< T >
 
struct  etl::default_delete< T[]>
 
class  etl::unique_ptr< T, TDeleter >
 
class  etl::unique_ptr< T[], TDeleter >
 
struct  etl::create_copy< T >
 
struct  etl::wipe_on_destruct< T >
 
class  etl::uninitialized_buffer< OBJECT_SIZE_, N_OBJECTS_, ALIGNMENT_ >
 
class  etl::uninitialized_buffer_of< T, N_OBJECTS_ >
 

Namespaces

 etl
 

Functions

template<typename T >
T * etl::addressof (T &t)
 
template<typename TOutputIterator , typename T >
TOutputIterator etl::uninitialized_fill (TOutputIterator o_begin, TOutputIterator o_end, const T &value)
 
template<typename TOutputIterator , typename T , typename TCounter >
TOutputIterator etl::uninitialized_fill (TOutputIterator o_begin, TOutputIterator o_end, const T &value, TCounter &count)
 
template<typename TOutputIterator , typename TSize , typename T >
TOutputIterator etl::uninitialized_fill_n (TOutputIterator o_begin, TSize n, const T &value)
 
template<typename TOutputIterator , typename TSize , typename T , typename TCounter >
TOutputIterator etl::uninitialized_fill_n (TOutputIterator o_begin, TSize n, const T &value, TCounter &count)
 
template<typename TInputIterator , typename TOutputIterator >
TOutputIterator etl::uninitialized_copy (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin)
 
template<typename TInputIterator , typename TOutputIterator , typename TCounter >
TOutputIterator etl::uninitialized_copy (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TCounter &count)
 
template<typename TInputIterator , typename TSize , typename TOutputIterator >
TOutputIterator etl::uninitialized_copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin)
 
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TCounter >
TOutputIterator etl::uninitialized_copy_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TCounter &count)
 
template<typename TInputIterator , typename TOutputIterator >
TOutputIterator etl::uninitialized_move (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin)
 
template<typename TInputIterator , typename TOutputIterator , typename TCounter >
TOutputIterator etl::uninitialized_move (TInputIterator i_begin, TInputIterator i_end, TOutputIterator o_begin, TCounter &count)
 
template<typename TInputIterator , typename TSize , typename TOutputIterator >
TOutputIterator etl::uninitialized_move_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin)
 
template<typename TInputIterator , typename TSize , typename TOutputIterator , typename TCounter >
TOutputIterator etl::uninitialized_move_n (TInputIterator i_begin, TSize n, TOutputIterator o_begin, TCounter &count)
 
template<typename TOutputIterator >
etl::enable_if< etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_default_construct (TOutputIterator, TOutputIterator)
 
template<typename TOutputIterator >
etl::enable_if<!etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_default_construct (TOutputIterator o_begin, TOutputIterator o_end)
 
template<typename TOutputIterator , typename TCounter >
etl::enable_if< etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_default_construct (TOutputIterator o_begin, TOutputIterator o_end, TCounter &count)
 
template<typename TOutputIterator , typename TCounter >
etl::enable_if<!etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_default_construct (TOutputIterator o_begin, TOutputIterator o_end, TCounter &count)
 
template<typename TOutputIterator , typename TSize >
etl::enable_if< etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, TOutputIterator >::type etl::uninitialized_default_construct_n (TOutputIterator o_begin, TSize n)
 
template<typename TOutputIterator , typename TSize >
etl::enable_if<!etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, TOutputIterator >::type etl::uninitialized_default_construct_n (TOutputIterator o_begin, TSize n)
 
template<typename TOutputIterator , typename TSize , typename TCounter >
etl::enable_if< etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, TOutputIterator >::type etl::uninitialized_default_construct_n (TOutputIterator o_begin, TSize n, TCounter &count)
 
template<typename TOutputIterator , typename TSize , typename TCounter >
etl::enable_if<!etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, TOutputIterator >::type etl::uninitialized_default_construct_n (TOutputIterator o_begin, TSize n, TCounter &count)
 
template<typename TOutputIterator >
etl::enable_if< etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_value_construct (TOutputIterator o_begin, TOutputIterator o_end)
 
template<typename TOutputIterator >
etl::enable_if<!etl::is_trivially_constructible< typename etl::iterator_traits< TOutputIterator >::value_type >::value, void >::type etl::uninitialized_value_construct (TOutputIterator o_begin, TOutputIterator o_end)
 
template<typename TOutputIterator , typename TCounter >
void etl::uninitialized_value_construct (TOutputIterator o_begin, TOutputIterator o_end, TCounter &count)
 
template<typename TOutputIterator , typename TSize >
TOutputIterator etl::uninitialized_value_construct_n (TOutputIterator o_begin, TSize n)
 
template<typename TOutputIterator , typename TSize , typename TCounter >
TOutputIterator etl::uninitialized_value_construct_n (TOutputIterator o_begin, TSize n, TCounter &count)
 
template<typename T >
etl::enable_if< etl::is_trivially_destructible< T >::value, void >::type etl::destroy_at (T *)
 
template<typename T >
etl::enable_if<!etl::is_trivially_destructible< T >::value, void >::type etl::destroy_at (T *p)
 
template<typename T , typename TCounter >
etl::enable_if< etl::is_trivially_destructible< T >::value, void >::type etl::destroy_at (T *, TCounter &count)
 
template<typename T , typename TCounter >
etl::enable_if<!etl::is_trivially_destructible< T >::value, void >::type etl::destroy_at (T *p, TCounter &count)
 
template<typename TIterator >
etl::enable_if< etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, void >::type etl::destroy (TIterator, TIterator)
 
template<typename TIterator >
etl::enable_if<!etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, void >::type etl::destroy (TIterator i_begin, TIterator i_end)
 
template<typename TIterator , typename TCounter >
etl::enable_if< etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, void >::type etl::destroy (TIterator i_begin, TIterator i_end, TCounter &count)
 
template<typename TIterator , typename TCounter >
etl::enable_if<!etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, void >::type etl::destroy (TIterator i_begin, TIterator i_end, TCounter &count)
 
template<typename TIterator , typename TSize >
etl::enable_if< etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, TIterator >::type etl::destroy_n (TIterator i_begin, TSize n)
 
template<typename TIterator , typename TSize >
etl::enable_if<!etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, TIterator >::type etl::destroy_n (TIterator i_begin, TSize n)
 
template<typename TIterator , typename TSize , typename TCounter >
etl::enable_if< etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, TIterator >::type etl::destroy_n (TIterator i_begin, TSize n, TCounter &count)
 
template<typename TIterator , typename TSize , typename TCounter >
etl::enable_if<!etl::is_trivially_destructible< typename etl::iterator_traits< TIterator >::value_type >::value, TIterator >::type etl::destroy_n (TIterator i_begin, TSize n, TCounter &count)
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool operator== (const etl::unique_ptr< T1, D1 > &lhs, const etl::unique_ptr< T2, D2 > &rhs)
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool operator< (const etl::unique_ptr< T1, D1 > &lhs, const etl::unique_ptr< T2, D2 > &rhs)
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool operator<= (const etl::unique_ptr< T1, D1 > &lhs, const etl::unique_ptr< T2, D2 > &rhs)
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool operator> (const etl::unique_ptr< T1, D1 > &lhs, const etl::unique_ptr< T2, D2 > &rhs)
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool operator>= (const etl::unique_ptr< T1, D1 > &lhs, const etl::unique_ptr< T2, D2 > &rhs)
 
template<typename T >
etl::enable_if< etl::is_trivially_constructible< T >::value, void >::type etl::create_default_at (T *)
 
template<typename T , typename TCounter >
etl::enable_if< etl::is_trivially_constructible< T >::value, void >::type etl::create_default_at (T *, TCounter &count)
 
template<typename T >
etl::enable_if<!etl::is_trivially_constructible< T >::value, void >::type etl::create_default_at (T *p)
 
template<typename T , typename TCounter >
etl::enable_if<!etl::is_trivially_constructible< T >::value, void >::type etl::create_default_at (T *p, TCounter &count)
 
template<typename T >
void etl::create_value_at (T *p)
 
template<typename T , typename TCounter >
void etl::create_value_at (T *p, TCounter &count)
 
template<typename T >
void etl::create_copy_at (T *p, const T &value)
 
template<typename T , typename TCounter >
void etl::create_copy_at (T *p, const T &value, TCounter &count)
 
template<typename T >
T & etl::make_default_at (T *p)
 
template<typename T , typename TCounter >
T & etl::make_default_at (T *p, TCounter &count)
 
template<typename T >
T & etl::make_copy_at (T *p, const T &other)
 
template<typename T , typename TCounter >
T & etl::make_copy_at (T *p, const T &other, TCounter &count)
 
template<typename T , typename TParameter >
T & etl::make_value_at (T *p, const TParameter &value)
 
template<typename T , typename TParameter , typename TCounter >
T & etl::make_value_at (T *p, const TParameter &value, TCounter &count)
 
void etl::memory_clear (volatile char *p, size_t n)
 
template<typename T >
void etl::memory_clear (volatile T &object)
 
template<typename T >
void etl::memory_clear_range (volatile T *begin, size_t n)
 
template<typename T >
void etl::memory_clear_range (volatile T *begin, volatile T *end)
 
void etl::memory_set (volatile char *p, size_t n, char value)
 
template<typename T >
void etl::memory_set (volatile T &object, const char value)
 
template<typename T >
void etl::memory_set_range (volatile T *begin, size_t n, const char value)
 
template<typename T >
void etl::memory_set_range (volatile T *begin, volatile T *end, const char value)