b70c20d284
region: support default construction of step iterator
...
This allows use in some std::algorithms that assume the iterator
conforms to LegacyIterator
2020-03-16 14:13:25 +11:00
7261bd7776
coord/traits: expand value_trait
to support scalars
2020-03-16 14:13:02 +11:00
29e876c712
cast: prefer concepts to SFINAE
2020-03-16 14:12:33 +11:00
c528e28a0e
concepts: add "supports_indexing"
2020-03-16 14:12:04 +11:00
6b53abd6b4
concepts: move std wrappers into one group
2020-03-16 14:11:50 +11:00
67a3e016e1
maths: document log2
and log2up
2020-03-16 14:11:23 +11:00
fb13c0fb0f
job/dispatch: explicitly specify the dispatchable region
2020-03-12 12:45:45 +11:00
8697c103d6
region: add intersection operation
2020-03-12 12:45:29 +11:00
7550ad7c23
concepts: add cbegin/cend requirements to iterable
2020-03-12 12:44:42 +11:00
0c199eaf44
colour: add srgba1 and srgba1f convenience typedefs
2020-03-12 12:44:20 +11:00
30f2db920c
concepts: add the supports_iterator_traits concept
2020-02-27 12:22:13 +11:00
2401cd60cf
goem/segment: indices
should be const
2020-02-27 11:50:24 +11:00
6cf54f6f14
cast: use concepts to constrain narrow
2020-02-27 11:49:41 +11:00
5d0b75d129
introspection: test variadic template type_name
2020-02-27 08:00:18 +11:00
7c92271296
introspection: return the template parameters of a type
2020-02-27 07:59:55 +11:00
813148ca51
introspection: add example __PRETTY_FUNCTION__ values
2020-02-27 07:59:40 +11:00
dc46d2d52b
algo/search: add balanced scan
2020-02-27 07:59:22 +11:00
f34d5ce278
introspection: add test for template-template-type reflection
2020-02-27 07:05:57 +11:00
ec1f354d16
iterator/zip: avoid std::forward_as_tuple for zip value_type
...
This tends to result in references to temporaries higher up the stack
being returned. decltype on the iterator dereference is a more reliable
method to determine the return type.
2020-02-26 12:04:02 +11:00
f1aa7fa775
iterator/zip: rewrite for simplicity and forwarding support
2020-02-25 16:17:04 +11:00
58b42d5d9b
iterator/iota: declare the iterator type first up
...
This means reduces the chances of mixing up inner/outer types, and
eliminates the use of the iterator typedef within teh container.
2020-02-25 16:15:45 +11:00
1e3c342482
functor: style
2020-02-25 16:15:21 +11:00
ebb99a6f4e
tuple/value: map
should return return a forwarding tuple
...
This allows us to maintain references, rather than provoke copies.
2020-02-25 12:02:53 +11:00
a25a16e00e
tuple/value: style
2020-02-25 12:02:45 +11:00
eac5957f60
tuple/value: correct the test case values
2020-02-25 11:31:56 +11:00
40694c4138
concepts: disable tuple_element test for tuple
2020-02-25 11:23:50 +11:00
61cc9b9ed2
tuple/value: add all
and none
queries
2020-02-25 11:17:05 +11:00
1427a61745
concepts: protect tuple concept against empty tuples
2020-02-25 11:16:58 +11:00
fb4e70d146
concepts: add initial invocable concept
2020-02-25 11:16:16 +11:00
25460cc527
iterator/cast: add skeleton of a casting iterator
2020-02-24 14:41:37 +11:00
28a7890681
types/tagged: use concepts to restrict assignable types
2020-02-24 14:41:37 +11:00
ebd88b25e7
iterator/zip: use the iterable
concept for zip construction
2020-02-24 14:41:37 +11:00
3791c8b8ee
iterator: add methods to conform iota
to LegacyIterator
2020-02-24 14:41:37 +11:00
84cbbbd049
concepts: add tuplelike concept
2020-02-24 14:41:37 +11:00
455b3b973f
concepts: add scalar, enumeration, and iterable concepts
2020-02-24 14:41:37 +11:00
8f39ed706d
concepts: style
2020-02-24 14:37:18 +11:00
8ddf4a915d
concepts: swappable should test using std::swap
2020-02-24 14:36:59 +11:00
df924f049b
concepts: add constructible_from
2020-02-24 14:36:40 +11:00
6a15651694
maths: convert to concepts
2020-02-18 12:18:43 +11:00
c5174c2817
concepts: add numeric
2020-02-18 12:18:26 +11:00
706e77f44a
concepts: add legacy_input_iterator and legacy_iterator
2020-02-18 12:18:05 +11:00
c001502aa2
concepts: add integral and floating concepts
2020-02-18 12:17:37 +11:00
d45433e97f
quaternion: add a subtraction operator
2020-02-18 12:17:06 +11:00
0dc4929c5e
concepts: add initial testing header
2020-02-18 11:23:21 +11:00
8cdbbcb26e
build: fix range-loop-analysis warnings
2020-02-17 17:40:03 +11:00
37899b3f8b
view: prefer allocator_traits over allocator for pointer
...
allocator::pointer has been removed in c++20, so we need to be using
allocator_traits::pointer here instead.
2020-02-17 14:30:30 +11:00
0d497738ce
iterator: add less-equal operators for libstdc++-10 compatibility
2020-02-17 14:29:50 +11:00
9750796e4e
cpuid/x86: explicitly include iosfwd
2020-02-17 14:29:31 +11:00
9031a12890
view: remove implicit equality for strings
2020-02-17 14:29:09 +11:00
b99db1a893
cast: explicitly include string_view
2020-02-17 14:28:43 +11:00