Clean up public API to replace const char*, size_t to std::string_view, union to std::variant etc
We need to clean up the public API before the release of 0.17.0. Here is what needs to be done:
- replace
const char*
,size_t
parameter pairs withstd::string_view
, - replace
pstring
as parameters withstd::string_view
, - replace
union
withstd::variant
, and - move the
pstring
header to private place to avoid advertising it to public.
For now, pstring
may still need to be exported since replacing it with std::string_view
wholesale will require a huge amount of effort. But pstring
should eventually become invisible and eventually be removed in favor of std::string_view
.