Todo List

Member c4::detail::get_memory_resource  ()

use a nifty counter: https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter

Member c4::detail::print_one  (substr str, const char *full_fmt, T v)

we’re depending on snprintf()/sscanf() for converting to/from floating point numbers. Apparently, this increases the binary size by a considerable amount. There are some lightweight printf implementations:

Member c4::get_memory_resource_malloc  ()

use a nifty counter: https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter

Class c4::is_narrower_size< SizeOut, SizeIn >

this would be so much easier with calls to numeric_limits::max()…

Member C4_CHECK  (cond)

add constexpr-compatible compile-time assert: https://akrzemi1.wordpress.com/2017/05/18/asserts-in-constexpr-functions/