aboutsummaryrefslogtreecommitdiffstats
path: root/common/almalloc.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove DEF_NEWDELChris Robinson2023-12-161-13/+0
| | | | | C++17 provides alignment-aware allocators for us, so we don't need to use our own to make sure classes/structs are properly aligned.
* Remove unnecessary macro parameter listsChris Robinson2023-12-151-5/+5
|
* Refactor FlexArrayChris Robinson2023-12-101-116/+0
| | | | | This avoids using an array of 1 as a flexible array member, and instead uses a span to reference the memory after itself.
* Fix some clang-tidy warningsChris Robinson2023-12-081-28/+28
|
* Compile with c++20 support (#920)Deal2023-09-251-1/+3
| | | | | * Compile with c++20 support * Update CMakeLists.txt
* Use some more standard functionsChris Robinson2023-05-051-68/+3
|
* Don't try to use std::pointer_traits::to_addressChris Robinson2023-01-301-21/+2
|
* Try to fix has_to_addressChris Robinson2023-01-301-3/+7
|
* Don't pass an unnecessarily large alignment to allocator::rebindChris Robinson2023-01-301-2/+4
|
* Use std::pointer_traits::to_address when availableChris Robinson2023-01-291-1/+16
|
* Better handle span sources from iteratorsChris Robinson2022-12-141-0/+12
|
* Check the container type given to DEF_NEWDEL and DEF_FAM_NEWDELChris Robinson2022-05-161-3/+7
| | | | | | | There's apparently no way to get the containing class/struct type from a static member function, and operator new/delete are implicitly static member functions so the macros to define them need to be told the type to allocate for. This ensures the type specified matches the containing type.
* Move assume_aligned to opthelpers.h and define force_inlineChris Robinson2022-03-301-36/+0
|
* Avoid a variable to subscript an array in offsetofChris Robinson2022-03-261-2/+8
|
* Try to improve assume_aligned for other compilersChris Robinson2022-03-251-2/+35
|
* Simplify a couple offsetof statementsChris Robinson2022-03-241-10/+4
|
* Remove an unnecessary noexceptChris Robinson2021-10-231-7/+4
|
* Add more noexceptChris Robinson2021-10-141-8/+8
|
* Properly noexcept the destroy methodsChris Robinson2021-10-141-5/+6
|
* Make a construct_at method amd use itChris Robinson2021-10-081-1/+6
|
* Add the gnu::malloc attribute to al_malloc and al_callocChris Robinson2021-10-071-2/+4
| | | | | | This helps the compiler know the returned pointer won't alias another pointer or existing object, since it's a fresh allocation, and is unlikely to return nullptr.
* Remove some unnecessary function attributesChris Robinson2021-01-231-4/+4
| | | | | | | | The alloc_size was wrong anyway since the function parameter takes the number of objects to be allocated and the attribute declares which is the number of bytes. The assume_aligned is unnecessary since the function is inlined and al_malloc/al_calloc already have appropriate attributes for the compiler to see.
* Make FlexArray trivially destructible when possibleChris Robinson2020-12-271-42/+89
|
* Ensure enough space is allocated for structs with a FlexArrayChris Robinson2020-08-151-1/+4
|
* Avoid a zero-length array for the FlexArray definitionChris Robinson2020-08-151-5/+4
| | | | | | Newer GCCs are warning about FlexArray being used at the end of another struct. Though not the most ideal to always allocate space for at least 1 element, actual 0-sized uses are rare and for smaller element types.
* Use an enum for FamCountChris Robinson2020-05-191-3/+3
|
* Apply some alloc and alignment attributesChris Robinson2020-04-101-16/+4
|
* Make a default/empty constructor noexceptChris Robinson2020-04-091-1/+1
|
* Remove some unused functionsChris Robinson2020-03-231-64/+3
|
* Add a macro to disable class-specific new/deleteChris Robinson2020-03-231-0/+6
|
* Properly define the new[] and delete[] operatorsChris Robinson2020-03-221-3/+10
|
* Avoid some pre-C++14 workaroundsChris Robinson2020-03-221-8/+0
|
* Fix some 'ambiguous' calls for newer MSVCChris Robinson2020-01-061-6/+6
|
* Ensure a pointer is provided for a templated iterator typeChris Robinson2020-01-051-2/+2
|
* Put the pragma defines in a separate headerChris Robinson2019-10-071-19/+4
|
* Add some allocator fields GCC 6.3 seems to wantChris Robinson2019-10-011-0/+6
|
* Work around MSVC's lack of standard _Pragma supportChris Robinson2019-09-181-7/+7
|
* Silence a couple specific warning instancesChris Robinson2019-09-181-0/+27
|
* Don't use [[nodiscard]] in C++11Chris Robinson2019-09-121-5/+5
| | | | To silence some warnings in older compilers, and fix an error with newer MSVC.
* Fix allocator comparison operatorsChris Robinson2019-09-111-4/+4
|
* Simplify flexible array member usageChris Robinson2019-09-111-2/+18
|
* Don't inherit for the allocatorChris Robinson2019-09-111-22/+18
|
* Add a Create method to FlexArray for "raw" arraysChris Robinson2019-08-031-0/+5
|
* Cleanup common sources' includesChris Robinson2019-07-291-4/+7
|
* Add C++17-like uninitialized_move methodsChris Robinson2019-07-011-0/+43
|
* Add an empty() method to FlexArrayChris Robinson2019-06-291-2/+2
|
* Fix ambiguous calls to destroy_atgeneotech2019-06-211-2/+2
|
* Use a FlexArray for the context's voicesChris Robinson2019-06-091-1/+1
|
* Add and use proper types for FlexArrayChris Robinson2019-06-071-20/+43
|
* Remove a couple unused functionsChris Robinson2019-06-061-8/+0
|