summaryrefslogtreecommitdiffstats
path: root/src/common/concepts.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* concepts: Use the std::contiguous_iterator conceptMorph2022-10-261-13/+3
| | | | | | This also covers std::span, which does not have a const iterator. Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
* fixed_point: Use variable templates and concepts where applicableLioncash2022-10-181-0/+8
| | | | | Makes a few things a little less noisy and removes the need for SFINAE in quite a few functions.
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* k_priority_queue: Fix concepts usecomex2020-12-291-0/+4
| | | | | | | | | | | | - For `std::same_as`, add missing include of `<concepts>`. - For `std::convertible_to`, create a replacement in `common/concepts.h` and use that instead. This would also be found in `<concepts>`, but unlike `std::same_as`, `std::convertible_to` is not yet implemented in libc++, LLVM's STL implementation - not even in master. (In fact, `std::same_as` is the *only* concept currently implemented. For some reason.)
* common/concepts: Move <type_traits> include out of the Common namespaceLioncash2020-08-181-2/+2
| | | | This is a compiler/linker error waiting to happen.
* common/concepts: Rename IsBaseOf to DerivedFromLioncash2020-08-071-4/+6
| | | | | | | | This makes it more inline with its currently unavailable standardized analogue std::derived_from. While we're at it, we can also make the template match the requirements of the standardized variant as well.
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David2020-08-031-0/+32
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf