Add format_to_n overload that accepts FMT_COMPILE

This commit is contained in:
Dmitriy Kurkin 2020-07-11 14:30:36 +08:00
parent 60c43e8703
commit 694115d530

View File

@ -654,6 +654,16 @@ format_to_n_result<OutputIt> format_to_n(OutputIt out, size_t n,
return {it.base(), it.count()};
}
template <typename OutputIt, typename S, typename... Args,
FMT_ENABLE_IF(detail::is_compiled_string<S>::value)>
format_to_n_result<OutputIt> format_to_n(OutputIt out, size_t n, const S&,
const Args&... args) {
constexpr auto compiled = detail::compile<Args...>(S());
auto it = format_to(detail::truncating_iterator<OutputIt>(out, n), compiled,
args...);
return {it.base(), it.count()};
}
template <typename CompiledFormat, typename... Args>
size_t formatted_size(const CompiledFormat& cf, const Args&... args) {
return format_to(detail::counting_iterator(), cf, args...).count();