Commit Graph

81 Commits

Author SHA1 Message Date
Behdad Esfahbod 2caae4a59a m Move class traits 2021-02-20 15:13:52 -07:00
Behdad Esfahbod 017f6b0d24 m Move static_assert_expr<> 2021-02-20 15:11:14 -07:00
Behdad Esfahbod 7ee3194f98 [meta] Remove wrong comment 2020-06-28 15:41:44 -07:00
ariza 168ceeac49 renamed to hb_unrwap_type(); now recursive 2020-02-17 21:16:15 +00:00
ariza 71552ecc26 add hb_get_type 2020-02-17 21:16:15 +00:00
Behdad Esfahbod 2e48fd0779 Sprinkle constexpr around
Being conservative.  Also not sure it makes any real difference
in our codebase.
2019-07-02 17:55:58 -07:00
Behdad Esfahbod 0ff7954f9f [meta] Add hb_is_trivial 2019-05-10 22:04:40 -07:00
Behdad Esfahbod 7162a97bca [meta] Add hb_is_trivially_copyable() 2019-05-10 22:03:03 -07:00
Behdad Esfahbod f2398f34c0 [meta] Add is_trivially_destructible 2019-05-10 21:59:57 -07:00
Behdad Esfahbod 086772e409 [meta] Add is_destructible 2019-05-10 21:49:25 -07:00
Behdad Esfahbod b14745278a [met]a Add is_constructible, ... 2019-05-10 21:42:59 -07:00
Behdad Esfahbod 40fb36a39d [meta] Minor 2019-05-10 21:01:19 -07:00
Behdad Esfahbod f9a96a0a97 [meta] More rewrites 2019-05-10 20:56:16 -07:00
Behdad Esfahbod 5252677e53 [meta] Rewrite hb_int_min/max 2019-05-10 20:49:52 -07:00
Behdad Esfahbod caa3f92e91 [meta] void_tt -> void_t 2019-05-10 20:44:22 -07:00
Behdad Esfahbod 7df3ecfb40 [meta] hb_void_t -> hb_empty_t 2019-05-10 20:43:26 -07:00
Behdad Esfahbod 149c3db8a2 [meta] Minor 2019-05-10 20:34:52 -07:00
Behdad Esfahbod 707ff5b59d Minor 2019-05-10 20:31:20 -07:00
Behdad Esfahbod ce300f4fb6 [meta] Rewrite is_signed, add is_unsigned 2019-05-10 20:26:29 -07:00
Behdad Esfahbod e939d88bd7 [meta] Rewrite is_integral / is_floating_point, add is_arithmetic 2019-05-10 20:20:51 -07:00
Behdad Esfahbod c3a456a26e [meta] Rewrite is_cr_convertible 2019-05-10 20:17:30 -07:00
Behdad Esfahbod b4ad6af9c4 [meta] Rewrite is_base_of 2019-05-10 20:15:03 -07:00
Behdad Esfahbod 61d150c916 [meta] Add integral_constant, true_t -> true_type, false_t -> false_type 2019-05-10 20:06:31 -07:00
Behdad Esfahbod 38e3a8bd53 [meta] bool_tt -> bool_constant 2019-05-10 20:03:14 -07:00
Behdad Esfahbod 3919ca41b5 [meta] Add is_floating_point 2019-05-10 19:56:36 -07:00
Behdad Esfahbod 25bb7e005d [meta] Add is_signed for floating point types 2019-05-10 19:52:36 -07:00
Behdad Esfahbod e0315b4aad [meta] is_integer -> is_integral 2019-05-10 19:48:02 -07:00
Behdad Esfahbod 9574de7a3e [meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference 2019-05-10 19:29:32 -07:00
Behdad Esfahbod 30e4ae6bd1 [meta] Add hb_is_base_of 2019-05-10 11:26:49 -07:00
Behdad Esfahbod 42901d7af9 Minor 2019-05-09 16:22:08 -07:00
Behdad Esfahbod 69d9114b53 [meta] Rewrite hb_is_cr_converitble 2019-05-09 15:24:25 -07:00
Behdad Esfahbod ceda1f03b7 Fix compile
NameRecord is not copy-constructible, so should be iterator of
const-reference.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod 3686c3b65c Adjust is_cr_convertible
If To is const& then From doesn't need to be &.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod 726002a6a6 [iter] Make hb_is_iterator_of() check is_convertible
Instead of is_cr_convertible.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod 70a49f2e4a [meta] Add hb_conditional<> and hb_is_convertible() 2019-05-09 15:24:25 -07:00
Behdad Esfahbod 05867d9f53 [meta] Add hb_int_max() 2019-05-09 11:31:13 -07:00
Behdad Esfahbod 4c94bc63d9 Move hb_invoke() back to hb-algs.hh 2019-05-08 15:57:33 -07:00
Behdad Esfahbod a17f0fa3a1 [meta] Capture rvalue-references in is_reference / remove_reference 2019-05-08 15:08:33 -07:00
Behdad Esfahbod e8bd5fc3fa [meta] Move hb_invoke from algs to meta 2019-05-07 22:29:40 -07:00
Behdad Esfahbod 035b818e34 [meta] Fix addressof() 2019-05-07 17:21:18 -07:00
Behdad Esfahbod 7654ebe3a5 Whitespace 2019-05-07 16:53:03 -07:00
Behdad Esfahbod 7c037bd2be [name] Clean up some more 2019-05-07 13:37:43 -07:00
Behdad Esfahbod fa2d97161f Remove use of deprecated implicit copy/move assignment operators
By removing custom copy constructor.
2019-05-07 00:36:36 -07:00
Behdad Esfahbod 8903040fcd Actually make it work 2019-05-07 00:13:11 -07:00
Behdad Esfahbod 03a68165d8 [meta] Add hb_reference_wrapper<>
Functionality kinda superset of std:: counterpart.
2019-05-07 00:05:31 -07:00
Behdad Esfahbod 0bf86d9c5d Whitespace 2019-05-06 23:39:26 -07:00
Behdad Esfahbod 72eb91deb9 Add hb_ref()
Unused.
2019-05-06 23:39:13 -07:00
Behdad Esfahbod 240f57e58d Rename hb_deref_pointer() to hb_deref() 2019-05-06 23:17:39 -07:00
Behdad Esfahbod 750b65e9a9 [meta] Add hb_type_identity<>
To block template argument deduction.
2019-04-26 17:14:25 -07:00
Behdad Esfahbod 3a7f5bdd18 Rewrite hb_is_signed() 2019-04-26 14:40:01 -07:00