Commit Graph

3636 Commits

Author SHA1 Message Date
16729c6f8b region: style 2024-11-08 14:38:00 +10:00
1ae19b9c65 region: add union-assignment operator 2024-11-08 14:37:46 +10:00
ba7986fce3 region: add 'path' query for segments 2024-11-08 14:37:25 +10:00
0c49eb5845 geom/segment: add segment-segment intersection test 2024-11-07 12:32:13 +10:00
33816fab94 vector: use xy members instead of 01 indices for cross
It's functionally identically, but is easier to read when comparing with
maths documents.
2024-11-07 12:31:02 +10:00
c243261dda geom/tri: add a helper that returns the edge segments 2024-11-07 12:30:24 +10:00
71d8e7d1af ranges/enumerate: remove util inner namespace 2024-10-31 13:18:40 +10:00
134b8a9fa9 matrix: default to f32 for projections and affines 2024-10-29 14:04:01 +10:00
b1e99acaab geom/tri: add inclusive test for points 2024-10-29 14:03:40 +10:00
c3f79d1e69 coord/base: allow arbitrary integral types for indexing 2024-10-29 14:02:59 +10:00
5718506b1d colour: unpack colour by ref to work around clang warning 2024-10-29 14:02:35 +10:00
b2e36f4e0f ranges: add izip helper 2024-10-29 14:02:10 +10:00
ffa09a50a0 ranges: add a simplistic implementation of enumerate
This is a temporary workaround because clang lacks it.
2024-10-17 09:08:19 +10:00
ec2f801357 build: fully qualify headers for win32 build failures 2024-10-16 11:19:58 +10:00
d14ac532c0 coord/traits: style 2024-10-16 11:19:48 +10:00
4d6a826165 build: bump fmtlib to 11 2024-10-16 11:19:35 +10:00
a44260b8b4 fixed_string: add constexpr equality operators
This fixes some errors seen under UBSan when comparing fixed_string
objects in std::integral_constant under GCC.

In particular the M != N case appears to be important.
2024-09-24 14:01:57 +10:00
7dec7b63f3 alloc/chunked: add default copy and move operators
This addresses some deprecation warnings under clang.
2024-08-21 09:44:36 +10:00
8128632f1a iterator/zip: allow ranges with differing begin/end types 2024-08-10 14:19:25 +10:00
f141cb3e95 concepts: don't check end -> legacy_iterator in iterable
This doesn't work for sentinel ranges. Rather we mainly care that the
begin/end results can be compared.
2024-08-10 14:18:15 +10:00
e151d5c8c3 concepts/named: style 2024-08-10 14:18:08 +10:00
07dfd4ef3e fixed_string: manually copy string data to avoid <algorithm> 2024-08-10 14:17:23 +10:00
428e5c683d kmeans: work around an ICE in clang-19 tests 2024-08-06 14:49:36 +10:00
379837bbc7 registrar: use the correct member name during move construction
This fixes a build error under clang-19
2024-08-06 14:49:23 +10:00
4ffe636c30 ranges/chunk: remove the clang range_adaptor_closure workaround
clang-19 exposes range_adaptor_closure so this isn't necessary.
2024-08-06 14:47:55 +10:00
a856edeb2c kmeans: don't include the point header as it's unneeded 2024-08-06 14:47:21 +10:00
71d9a71b20 par/stack: use our own aligned_storage_t alternative
aligned_storage_t is deprecated and will generate warnings. Use a very
similar construct within the stack itself instead.
2024-08-06 14:46:18 +10:00
a73db2a75c build: convert aligned_storage_t to memcpy for small types
aligend_storage_t is deprecated in clang-19 and no longer compiles
cleanly (generates a warning). These locations don't benefit from any
fancy schemes, so just memcpy to a local var and return.
2024-08-06 14:44:47 +10:00
e43535c2a7 build: remove use of template member qualifiers
They aren't allowed by clang-19, and don't appear to be necessary for
currently supported compilers.
2024-08-06 14:43:22 +10:00
02e2262d0a fixed_string: add value_type and begin/end 2024-07-25 10:18:07 +10:00
0a7cd59eb9 ranges: add a (simplistic) implementation of chunk
Taken from the illustrative text at https://en.cppreference.com/w/cpp/ranges/chunk_view
2024-07-19 16:41:10 +10:00
738ba64101 build: add a conanfile for dependencies 2024-07-18 15:06:52 +10:00
6b1cbc4d73 Move source out of root and into the cruft directory 2024-07-18 12:27:05 +10:00
edf10a77c8 cpuid: don't build this tool for Windows
There is a lot of topology, scheduling, and affinity code in here that
doesn't currently translate to Windows. Just don't build it right now.
2024-05-14 14:57:52 +10:00
ed4ad99851 fixed_string: add string_view operator 2024-03-04 11:45:59 +10:00
eef192ab3c string: remove deprecated wstring to_uft8 convertors
The `codecvt` routines are deprecated, and this code is entirely
untested.
2024-02-21 14:56:05 +10:00
1672020ebb posix/flock: disable this class if under Windows 2024-02-21 14:55:29 +10:00
cd84d863c2 fs/tmp: make temp queries and path generator more robust 2024-02-21 14:54:53 +10:00
48e71ce0dd tools/cpuid: add cache topology detection 2024-02-21 14:54:15 +10:00
14c9a103ef cpuid/x86: minor type formatting 2024-02-21 14:53:24 +10:00
db4d75bb1c backtrace: use fmtlib formatters for output 2024-02-21 14:52:50 +10:00
9804306f13 log: use format_string to pass format specifiers 2023-11-19 09:39:15 +10:00
6f17da5e59 format/quoted: avoid vformat for tests 2023-11-19 09:39:15 +10:00
2f2dfd1423 tools/log: accept only a single string
This tool is only meant for testing purposes and it's far simpler to
only support a single string commandline argument.
2023-11-19 09:37:05 +10:00
3feca52a87 endian: add fmt::formatter for value 2023-11-19 09:36:30 +10:00
da8df2297d uri: add fmt::formatter for uri and component 2023-11-19 09:36:13 +10:00
b0adff1c87 endian: force alignment with underlying type in value 2023-11-19 09:34:27 +10:00
0ce69083e6 cast: disable warnings for function casts in ffs
Vulkan presents a few function pointers as (void*)(*)(void*) or
something like that, and we have to cast these to the extension
signatures.

This fixes some errors under clang-17
2023-11-19 09:27:12 +10:00
19095934b2 build: don't use a space in user string literals
This fixes errors in clang-17
2023-11-19 09:26:37 +10:00
ff1fcfa977 build: move from PythonInterp to Python3
CMake has removed PythonInterp; see CMP0148
2023-10-11 10:55:05 +10:00