AWS SDK for C++  1.8.7
AWS SDK for C++
Classes | Namespaces | Typedefs | Functions
AWSMemory.h File Reference
#include <aws/core/Core_EXPORTS.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/utils/memory/MemorySystemInterface.h>
#include <memory>
#include <cstdlib>
#include <algorithm>
#include <type_traits>

Go to the source code of this file.

Classes

struct  Aws::Deleter< T >
 
struct  Aws::ArrayDeleter< T >
 

Namespaces

 Aws
 
 Aws::Utils
 
 Aws::Utils::Memory
 

Typedefs

template<typename T >
using Aws::UniquePtr = std::unique_ptr< T, Deleter< T > >
 
template<typename T >
using Aws::UniqueArrayPtr = std::unique_ptr< T, ArrayDeleter< T > >
 

Functions

AWS_CORE_API void Aws::Utils::Memory::InitializeAWSMemorySystem (MemorySystemInterface &memorySystem)
 
AWS_CORE_API void Aws::Utils::Memory::ShutdownAWSMemorySystem (void)
 
AWS_CORE_API MemorySystemInterface * Aws::Utils::Memory::GetMemorySystem ()
 
AWS_CORE_API void * Aws::Malloc (const char *allocationTag, size_t allocationSize)
 
AWS_CORE_API void Aws::Free (void *memoryPtr)
 
AWS_CORE_API aws_allocator * Aws::get_aws_allocator ()
 
template<typename T , typename ... ArgTypes>
T * Aws::New (const char *allocationTag, ArgTypes &&... args)
 
template<typename T >
std::enable_if<!std::is_polymorphic< T >::value >::type Aws::Delete (T *pointerToT)
 
template<typename T >
std::enable_if< std::is_polymorphic< T >::value >::type Aws::Delete (T *pointerToT)
 
template<typename T >
bool Aws::ShouldConstructArrayMembers ()
 
template<typename T >
bool Aws::ShouldDestroyArrayMembers ()
 
template<typename T >
T * Aws::NewArray (std::size_t amount, const char *allocationTag)
 
template<typename T >
void Aws::DeleteArray (T *pointerToTArray)
 
template<typename T , typename ... ArgTypes>
UniquePtr< T > Aws::MakeUnique (const char *allocationTag, ArgTypes &&... args)
 
template<typename T , typename ... ArgTypes>
UniqueArrayPtr< T > Aws::MakeUniqueArray (std::size_t amount, const char *allocationTag, ArgTypes &&... args)