5eea1f4f40
std: add usize and isize typedefs
2024-11-11 12:00:50 +10:00
e3ab977ffa
ranges/adjacent: use more cvref_t
...
This fixes some errors calling the range closure with stack variables.
2024-11-11 11:26:44 +10:00
8eeb35cf36
ranges: add a naive implemenation of "adjacent"
...
This works around a diffiency in the clang-19 ranges library.
2024-11-11 11:19:33 +10:00
cb7ef2ec9e
geom/segment: make intersects test not inclusive
2024-11-08 14:38:09 +10:00
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