From 4cf33cfe0a427d24d754c134eb94b9d1a67da637 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 26 Mar 2023 01:32:50 +1100 Subject: Various optimisations to code generaton. util/bitmap.cpp, util/palette.cpp: Marked lots of things constexpr. Bitmaps don't throw exceptions on allocation failure, they just become invalid. Almost nothing in MAME actually checks for this. emu/profiler.cpp: Abort if the profile stack overflows rather than throwing an exception. This is a developer feature and if it overflows, the code is broken. Calling a noreturn noexcept function generates less code than throwing an exception, which adds up. util/strformat.cpp: Traded away some unnecessary flexibility for more compact code. The stream objects must derive from std::basic_ostream now - they can't just be any old objects with the expected operators. --- src/lib/util/strformat.cpp | 747 +++++++-------------------------------------- 1 file changed, 117 insertions(+), 630 deletions(-) (limited to 'src/lib/util/strformat.cpp') diff --git a/src/lib/util/strformat.cpp b/src/lib/util/strformat.cpp index cec14635e16..47bfdde6715 100644 --- a/src/lib/util/strformat.cpp +++ b/src/lib/util/strformat.cpp @@ -23,639 +23,126 @@ template class format_chars; template void format_flags::apply(std::ostream &) const; template void format_flags::apply(std::wostream &) const; -template void format_flags::apply(std::iostream &) const; -template void format_flags::apply(std::wiostream &) const; -template void format_flags::apply(std::ostringstream &) const; -template void format_flags::apply(std::wostringstream &) const; -template void format_flags::apply(std::stringstream &) const; -template void format_flags::apply(std::wstringstream &) const; -template void format_flags::apply(ovectorstream &) const; -template void format_flags::apply(wovectorstream &) const; -template void format_flags::apply(vectorstream &) const; -template void format_flags::apply(wvectorstream &) const; -template class format_argument; -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); +template class format_argument; +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); + +template class format_argument; +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template bool format_argument::static_make_integer(void const *, int &); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); +template void format_argument::static_store_integer(void const *, std::streamoff); + +template class format_argument_pack; +template class format_argument_pack; + +template std::ostream::off_type stream_format(std::ostream &, format_argument_pack const &); +template std::wostream::off_type stream_format(std::wostream &, format_argument_pack const &); -template class format_argument; -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template void format_argument::static_output(std::iostream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template void format_argument::static_output(vectorstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument; -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template bool format_argument::static_make_integer(void const *, int &); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); -template void format_argument::static_store_integer(void const *, std::streamoff); - -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; -template class format_argument_pack; +} // namespace detail -template std::ostream::off_type stream_format(std::ostream &, format_argument_pack const &); -template std::wostream::off_type stream_format(std::wostream &, format_argument_pack const &); -template std::iostream::off_type stream_format(std::iostream &, format_argument_pack const &); -template std::iostream::off_type stream_format(std::iostream &, format_argument_pack const &); -template std::wiostream::off_type stream_format(std::wiostream &, format_argument_pack const &); -template std::wiostream::off_type stream_format(std::wiostream &, format_argument_pack const &); -template std::ostringstream::off_type stream_format(std::ostringstream &, format_argument_pack const &); -template std::ostringstream::off_type stream_format(std::ostringstream &, format_argument_pack const &); -template std::wostringstream::off_type stream_format(std::wostringstream &, format_argument_pack const &); -template std::wostringstream::off_type stream_format(std::wostringstream &, format_argument_pack const &); -template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack const &); -template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack const &); -template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack const &); -template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack const &); -template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack const &); -template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack const &); -template ovectorstream::off_type stream_format(ovectorstream &, format_argument_pack const &); -template ovectorstream::off_type stream_format(ovectorstream &, format_argument_pack const &); -template wovectorstream::off_type stream_format(wovectorstream &, format_argument_pack const &); -template wovectorstream::off_type stream_format(wovectorstream &, format_argument_pack const &); -template vectorstream::off_type stream_format(vectorstream &, format_argument_pack const &); -template vectorstream::off_type stream_format(vectorstream &, format_argument_pack const &); -template vectorstream::off_type stream_format(vectorstream &, format_argument_pack const &); -template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack const &); -template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack const &); -template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack const &); +template std::string string_format(format_argument_pack const &); +template std::string string_format(format_argument_pack &&); +template std::string string_format(std::locale const &, format_argument_pack const &); +template std::string string_format(std::locale const &, format_argument_pack &&); -} // namespace detail +template std::wstring string_format(format_argument_pack const &); +template std::wstring string_format(format_argument_pack &&); +template std::wstring string_format(std::locale const &, format_argument_pack const &); +template std::wstring string_format(std::locale const &, format_argument_pack &&); } // namespace util -- cgit v1.2.3-70-g09d2