summaryrefslogtreecommitdiffstats
path: root/src/common/concepts.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-26concepts: Use the std::contiguous_iterator conceptMorph1-13/+3
This also covers std::span, which does not have a const iterator. Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-18fixed_point: Use variable templates and concepts where applicableLioncash1-0/+8
Makes a few things a little less noisy and removes the need for SFINAE in quite a few functions.
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-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.
2020-12-29k_priority_queue: Fix concepts usecomex1-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.)
2020-08-18common/concepts: Move <type_traits> include out of the Common namespaceLioncash1-2/+2
This is a compiler/linker error waiting to happen.
2020-08-07common/concepts: Rename IsBaseOf to DerivedFromLioncash1-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.
2020-08-03ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David1-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