| 
    cpp-sdl2
    
   C++ header-only SDL2 wrapper 
   | 
 
Go to the source code of this file.
Classes | |
| struct | sdl::simd::allocator< T > | 
| Allocator usable with standard containers.  More... | |
| struct | sdl::simd::allocator< T >::rebind< U > | 
| struct | sdl::simd::deleter< T > | 
deleter usable with std::unique_ptr<T>.  More... | |
| class | sdl::simd::deleter< T[]> | 
deleter usable with std::unique_ptr<T[]>.  More... | |
Namespaces | |
| sdl::simd | |
| sdl::simd::details | |
Typedefs | |
| template<typename T > | |
| using | sdl::simd::unique_ptr = std::unique_ptr< T, simd::deleter< T > > | 
Functions | |
| size_t | sdl::simd::get_alignment () | 
| Report the alignment this system needs for SIMD allocations.  More... | |
| void * | sdl::simd::alloc (size_t len) | 
| Allocate memory in a SIMD-friendly way.  More... | |
| void | sdl::simd::free (void *ptr) | 
| Deallocate memory obtained from sdl::simd::alloc().  More... | |
| template<typename T > | |
| void | sdl::simd::details::destroy_at (T *ptr) | 
recursive implementation of std::destroy_at, only available from C++20 onwards.  More... | |
| template<typename T , typename... Args> | |
| auto | sdl::simd::make_unique (Args &&... args) -> std::enable_if_t<!std::is_array_v< T >, unique_ptr< T >> | 
Equivalent of std::make_unique<T> that returns a simd::unique_ptr.  More... | |
| template<typename T > | |
| auto | sdl::simd::make_unique (std::size_t count) -> std::enable_if_t< std::is_array_v< T > &&std::extent_v< T >==0 | 
Allocate and default construct count elements.  More... | |
| sdl::simd::for (std::size_t i=0;i< count;++i) new(mem+i) U | |
| return | sdl::simd::unique_ptr< T > (mem, deleter< T >(count)) | 
| template<typename T , typename... Args> | |
| auto | sdl::simd::make_shared (Args &&... args) -> std::enable_if<!std::is_array_v< T >, std::shared_ptr< T >> | 
Equivalent of std::make_shared<T> that uses simd-friendly storage.  More... | |
Variables | |
| auto | sdl::simd::unique_ptr< T > = delete | 
| allocator< U > | sdl::simd::a | 
| auto * | sdl::simd::mem = a.allocate(count) |