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
85a502774c
types: add the convert
trait
...
This unconditionally replaces the first argument with the second.
It can be useful when dealing with parameter packs.
2020-02-07 10:15:43 +11:00
0ded941de6
singleton: rename valid
as is_valid
2020-02-05 15:16:55 +11:00
c6bce64af3
quaternion: clarify that from_to
result is normalised
2020-01-30 15:06:36 +11:00
44509498b7
singleton: add a public query for validity
2020-01-28 14:13:12 +11:00
46d19464b5
parse/value: style
2020-01-28 14:13:03 +11:00
450b65e2e5
posix/fd: add an ftruncate
wrapper
2020-01-21 13:03:49 +11:00
0a7adfb037
cmdopt: add simple requires
constraint callbacks
2020-01-17 07:58:23 +11:00
ac168e86b5
container: add free 'contains' query
2020-01-16 11:58:52 +11:00
3c768daf81
std: clarify header guarantees
2020-01-16 11:58:03 +11:00
49c0b35fe7
coord/ops: add isfinite
call for vectors
2020-01-14 14:07:52 +11:00
4bea2668c3
view: prefer static_assert over SFINAE for extract
...
This produces more readable error messages, and we are not using
`extract` in a context where we need to disambiguate calls anyway.
2020-01-05 08:28:57 +11:00
cff7375cc1
uri: constructors should be implicit for ease of use
...
They don't act like other classes, or implicitly convert to other
classes, so the risks are minimal.
2020-01-02 11:20:59 +11:00
f404acfda0
view: allow extract
with mutable pointers
2020-01-01 12:38:22 +11:00
8da3cc3293
iterator/infix: determine container value_type via its iterators
2020-01-01 11:08:20 +11:00