f6056153e3
rename root namespace from util to cruft
...
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87
relicense under MPL-2.0
2018-08-04 15:14:06 +10:00
bcb4d7569f
types/traits: add is_same_basic_type trait
2018-08-01 18:39:01 +10:00
00c46e0f9a
types/traits: move inner_type to the util namespace
2018-08-01 17:18:59 +10:00
6c0803b6e9
types/traits: add the identity type function
2018-06-22 17:41:36 +10:00
b918aa7fc0
types/traits: rename chain as compose
2018-06-21 13:19:21 +10:00
33222d3ef4
types/description: add trivial type categorisation enums
2018-06-03 15:25:50 +10:00
eeb5215921
traits: addd array specialisation for is_container
2018-04-18 21:48:55 +10:00
5228cecbfb
traits: add is_same_template_template trait
2018-03-15 15:25:18 +11:00
741012151b
types/traits: add inner_type query for ::value_type
2018-03-12 23:11:26 +11:00
923ba6b745
types/traits: add dedicated function argument counting trait
2018-03-03 13:42:10 +11:00
d323197459
types/bits: add bytes_uint_t and bits_uint_t
2018-01-17 20:09:21 +11:00
681768093e
hash: use a consistency, less flexible, interface
2018-01-13 15:24:12 +11:00
27a93c0780
traits: add is_contiguous query for containers
2017-12-28 17:50:37 +11:00
a2995186f6
traits: add nth_argument trait query
2017-09-10 12:42:18 +10:00
d79b7da067
types/traits: make func_traits more robust
2017-09-08 14:19:46 +10:00
fb5614ae2b
types/traits: add remove_member_const
2017-09-08 14:19:28 +10:00
bb07f6573c
type/traits: add remove_noexcept
2017-09-08 14:19:03 +10:00
a307b5f777
types/traits: add chaining type modifier
2017-09-08 14:10:57 +10:00
a1c8c8e2ac
types/traits add remove_noexcept and func_traits
2017-09-06 13:31:02 +10:00
86f6611f61
comparator: workaround clang structured bindings ICE
2017-06-29 15:28:58 +10:00
3f8c490733
comparator: indexed comparator should be const
2017-06-29 15:28:37 +10:00
01ed956ee4
comparator: use relative paths for dependent header
...
the header wasn't found when included from external projects. this uses
the correct relative path
2017-06-29 15:27:29 +10:00
0eaec8ad65
comparator: move pointer comparator code inline
2017-06-19 15:36:57 +10:00
6065aa9933
comparator: add comparator for indexed compound types
...
compares each index of the two parameters in sequence, returning true if
the first parameter has the first value that compares less than the
second.
2017-06-19 15:28:10 +10:00
9a798446b5
build: remove unnecessary includes
...
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
cac706dd3c
types/traits: add remove_restrict
2016-03-16 19:27:39 +11:00
fcd10f1cea
types/bits: add bytes_type convenience wrapper
2015-12-10 11:34:56 +11:00
06fc8dd651
types/bits: use unsigned type for size param
2015-12-10 11:34:34 +11:00
424e6e8701
cast: move types/casts to cast
2015-11-17 16:19:27 +11:00
78e0455800
t/casts: use equivalent types for equality
2015-11-17 14:04:23 +11:00
7df74064dc
traits: remove deprecated auto_ptr specialisation
2015-04-29 17:47:37 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
751f06dc3e
traits: add try_signed convertor
2015-03-20 01:32:28 +11:00
d4d5eaa6f8
traits: add func_traits for return types
2015-03-10 22:52:17 +11:00
8e5bd17974
t/traits: comments
2015-02-18 02:33:51 +11:00
c4df8bf905
t/casts: simplify trunc_cast, combine size_cast
2015-02-17 16:20:46 +11:00
7ba92838df
t/traits: rename always_unsigned to try_unsigned
2015-02-17 16:20:15 +11:00
52f53caee5
debug: drop support for CHECK_HARD
...
HARD vs SOFT assertions were never very well defined or supported.
Currently they just imply a level of functionality that isn't present;
it's better to remove them instead of expending the effort at this
point.
2015-01-28 14:49:34 +11:00
5820b75764
types: add is_lossless_cast trait query
2014-07-15 19:51:42 +10:00
cb1824a387
types: include referenced header
2014-07-15 19:51:23 +10:00
f90ff0e9f6
Add a unique_ptr/ptr comparator object
2012-11-09 15:17:32 +11:00
8cb01aae18
use correct type in known_cast dynamic test
2012-08-15 17:44:29 +10:00
481f55a9c4
Add known_cast to type casts
2012-06-20 16:48:40 +10:00
9124791a59
Use lowest instead of min in casting checks
2012-06-14 18:31:58 +10:00
6ff8405c6a
Allow sign_cast to same type
2012-06-13 16:01:42 +10:00
93275a43a7
Add size_cast for size reductions
2012-06-08 16:46:03 +10:00
4899f08772
Add always_unsigned type conversion template
2012-05-25 15:30:11 +10:00
f9cc4926f2
Categorise functionality from types.hpp
2012-05-25 15:19:07 +10:00