|
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) |