Dean Moldovan 56613945ae Use semi-constexpr signatures on MSVC
MSCV does not allow `&typeid(T)` in constexpr contexts, but the string
part of the type signature can still be constexpr. In order to avoid
`typeid` as long as possible, `descr` is modified to collect type
information as template parameters instead of constexpr `typeid`.
The actual `std::type_info` pointers are only collected in the end,
as a `constexpr` (gcc/clang) or regular (MSVC) function call.

Not only does it significantly reduce binary size on MSVC, gcc/clang
benefit a little bit as well, since they can skip some intermediate
`std::type_info*` arrays.
2017-09-16 12:02:49 +02:00
..
2016-04-26 23:48:55 +02:00
2017-08-31 14:01:08 +02:00
2017-08-17 15:10:51 +02:00
2017-09-16 12:02:49 +02:00
2016-09-19 13:45:31 +02:00
2015-10-13 03:16:44 +02:00
2017-03-12 22:36:48 +01:00