diff --git a/docs/source/commandline/commandline-all.rst b/docs/source/commandline/commandline-all.rst index f05c5b6b479..f83716f5866 100644 --- a/docs/source/commandline/commandline-all.rst +++ b/docs/source/commandline/commandline-all.rst @@ -1617,25 +1617,29 @@ Core State/Playback Options **-snapview** ** - Specifies the view to use when rendering snapshots and movies. + Specifies the view to use when rendering snapshots and videos. The + ** does not need to be the full name of a view, MAME will choose + the first view with a name that has the ** as a prefix. For + example **-snapview "screen 0 pixel"** will match the + “\ *Screen 0 Pixel Aspect (10:7)*\ ” view. - By default, both use a special 'internal' view, which renders a separate - snapshot per screen or renders movies only of the first screen. By - specifying this option, you can override this default behavior and select a - single view that will apply to all snapshots and movies. Note that - does not need to be a perfect match; rather, it will select the - first view whose name matches all the characters specified by . + If the ** is ``auto`` or an empty string, MAME will select a view + based on the number of emulated screens in the system, and the available + external and internal artwork. MAME tries to select a view that shows all + emulated screens by default. - For example, **-snapview native** will match the "Native (15:14)" view even - though it is not a perfect match. can also be 'auto', which - selects the first view with all screens present. + If the ** is ``native``, MAME uses special internal view to save a + separate snapshot for each visible emulated screen, or to record a video for + the first visible screen only. The snapshot(s) or video will have the same + resolution as the emulated screen(s) with no artwork elements drawn or + effects applied. - The default value is ``internal``. + The default value is ``auto``. Example: .. code-block:: bash - mame64 pang -snapview pixel + mame64 wrecking -snapview cocktail .. _mame-commandline-nosnapbilinear: @@ -1643,7 +1647,7 @@ Core State/Playback Options **-[no]snapbilinear** Specify if the snapshot or movie should have bilinear filtering applied. - Shutting this off can improve performance while recording video to a file. + Disabling this off can improve performance while recording video to a file. The default is ON (**-snapbilinear**). @@ -2402,18 +2406,23 @@ Core Per-Window Options **-view3** ** - Specifies the initial view setting for each window. The ** does - not need to be a perfect match; rather, it will select the first view whose - name matches all the characters specified by **. For example, - **-view native** will match the "*Native (15:14)*" view even though it is - not a perfect match. The value ``auto`` is also supported, and requests - that MAME perform a default selection. + Specifies the initial view setting for each window/screen. The ** + does not need to be the full name of a view, MAME will choose the first view + with a name that has the ** as a prefix. For example + **-view "screen 0 pixel"** will match the + “\ *Screen 0 Pixel Aspect (10:7)*\ ” view. + + If the ** is ``auto`` or an empty string, MAME will select views + based on the number of emulated screens in the system, the number of + windows/screens MAME is using, and the available external and internal + artwork. MAME tries to select views so that all emulated screens are + visible by default. The default value for these options is ``auto``. The **-view0**, **-view1**, **-view2**, **-view3** parameters apply to the - specific window. The **-view** parameter applies to all windows. The - window-specific options override values from the all window option. + specific window. The **-view** parameter applies to all windows. The + window-specific options override values from the all windows option. Example: .. code-block:: bash diff --git a/docs/source/techspecs/luareference.rst b/docs/source/techspecs/luareference.rst index cd3f6af4b73..a1042f38db1 100644 --- a/docs/source/techspecs/luareference.rst +++ b/docs/source/techspecs/luareference.rst @@ -77,9 +77,9 @@ of device, to find devices of a particular type, or to find devices that implement a particular interface. When iterating using ``pairs`` or ``ipairs``, devices are returned by walking the device tree depth-first in creation order. -The index get operator looks up a device by tag. It returns ``nil`` no device -with the specified tag is found, or if the device with the specified tag does -not meet the type/interface requirements of the device enumerator. The +The index get operator looks up a device by tag. It returns ``nil`` if no +device with the specified tag is found, or if the device with the specified tag +does not meet the type/interface requirements of the device enumerator. The complexity is O(1) if the result is cached, but an uncached device lookup is expensive. The ``at`` method has O(n) complexity. @@ -383,7 +383,7 @@ screen.pixel_period (read-only) screen.scan_period (read-only) The interval taken to draw a scan line (including the horizontal blanking interval), as a floating-point number in units of seconds. -screen.pixel_period (read-only) +screen.frame_period (read-only) The interval taken to draw a complete frame (including blanking intervals), as a floating-point number in units of seconds. screen.frame_number (read-only) @@ -619,8 +619,8 @@ Slot option ~~~~~~~~~~~ Wraps MAME’s ``device_slot_interface::slot_option`` class, which represents a -child device that a :ref:`slot device ` slot device can -be configured to instantiate. +child device that a :ref:`slot device ` can be +configured to instantiate. Instantiation ^^^^^^^^^^^^^ diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp index 9885b42b880..690756a7011 100644 --- a/src/emu/emuopts.cpp +++ b/src/emu/emuopts.cpp @@ -74,7 +74,7 @@ const options_entry emu_options::s_option_entries[] = { OPTION_WAVWRITE, nullptr, OPTION_STRING, "optional filename to write a WAV file of the current session" }, { OPTION_SNAPNAME, "%g/%i", OPTION_STRING, "override of the default snapshot/movie naming; %g == gamename, %i == index" }, { OPTION_SNAPSIZE, "auto", OPTION_STRING, "specify snapshot/movie resolution (x) or 'auto' to use minimal size " }, - { OPTION_SNAPVIEW, "", OPTION_STRING, "specify snapshot/movie view or 'native' to use internal pixel-aspect views" }, + { OPTION_SNAPVIEW, "auto", OPTION_STRING, "snapshot/movie view - 'auto' for default, or 'native' for per-screen pixel-aspect views" }, { OPTION_SNAPBILINEAR, "1", OPTION_BOOLEAN, "specify if the snapshot/movie should have bilinear filtering applied" }, { OPTION_STATENAME, "%g", OPTION_STRING, "override of the default state subfolder naming; %g == gamename" }, { OPTION_BURNIN, "0", OPTION_BOOLEAN, "create burn-in snapshots for each screen" }, diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 6b9a1e76f18..68c840f89a6 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -1061,8 +1061,8 @@ unsigned render_target::configured_view(const char *viewname, int targetindex, i { layout_view *view = nullptr; - // auto view just selects the nth view - if (strcmp(viewname, "auto") != 0) + // if it isn't "auto" or an empty string, try to match it as a view name prefix + if (viewname && *viewname && strcmp(viewname, "auto")) { // scan for a matching view name size_t const viewlen = strlen(viewname); @@ -3315,7 +3315,7 @@ void render_manager::config_load(config_type cfg_type, util::xml::data_node cons for (util::xml::data_node const *targetnode = parentnode->get_child("target"); targetnode; targetnode = targetnode->get_next_sibling("target")) { render_target *const target = target_by_index(targetnode->get_attribute_int("index", -1)); - if (target) + if (target && !target->hidden()) target->config_load(*targetnode); } diff --git a/src/emu/video.cpp b/src/emu/video.cpp index 3d6ffa43dea..a9599fb4964 100644 --- a/src/emu/video.cpp +++ b/src/emu/video.cpp @@ -349,10 +349,9 @@ void video_manager::save_snapshot(screen_device *screen, emu_file &file) void video_manager::save_active_screen_snapshots() { - // if we're native, then write one snapshot per visible screen if (m_snap_native) { - // write one snapshot per visible screen + // if we're native, then write one snapshot per visible screen for (screen_device &screen : screen_device_enumerator(machine().root_device())) if (machine().render().is_live(screen)) { @@ -362,10 +361,9 @@ void video_manager::save_active_screen_snapshots() save_snapshot(&screen, file); } } - - // otherwise, just write a single snapshot else { + // otherwise, just write a single snapshot emu_file file(machine().options().snapshot_directory(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); osd_file::error filerr = open_next(file, "png"); if (filerr == osd_file::error::NONE) diff --git a/src/emu/video.h b/src/emu/video.h index bcd0d4e4394..84654ed01ff 100644 --- a/src/emu/video.h +++ b/src/emu/video.h @@ -75,6 +75,7 @@ public: int effective_frameskip() const; // snapshots + bool snap_native() const { return m_snap_native; } render_target &snapshot_target() { return *m_snap_target; } void save_snapshot(screen_device *screen, emu_file &file); void save_active_screen_snapshots(); diff --git a/src/frontend/mame/ui/filemngr.cpp b/src/frontend/mame/ui/filemngr.cpp index 69a3b5ca5fa..1ef861e5475 100644 --- a/src/frontend/mame/ui/filemngr.cpp +++ b/src/frontend/mame/ui/filemngr.cpp @@ -12,17 +12,19 @@ *********************************************************************/ #include "emu.h" -#include "ui/ui.h" -#include "ui/menu.h" #include "ui/filemngr.h" + #include "ui/filesel.h" -#include "ui/miscmenu.h" -#include "ui/imgcntrl.h" #include "ui/floppycntrl.h" +#include "ui/imgcntrl.h" +#include "ui/miscmenu.h" +#include "ui/ui.h" + #include "softlist.h" namespace ui { + /*************************************************************************** FILE MANAGER ***************************************************************************/ @@ -168,7 +170,7 @@ void menu_file_manager::handle() { // process the menu const event *event = process(0); - if (event != nullptr && event->itemref != nullptr && event->iptkey == IPT_UI_SELECT) + if (event && event->itemref && (event->iptkey == IPT_UI_SELECT)) { if ((uintptr_t)event->itemref == 1) { @@ -177,18 +179,15 @@ void menu_file_manager::handle() else { selected_device = (device_image_interface *) event->itemref; - if (selected_device != nullptr) + if (selected_device) { m_curr_selected = true; floppy_image_device *floppy_device = dynamic_cast(selected_device); - if (floppy_device != nullptr) - { + if (floppy_device) menu::stack_push(ui(), container(), *floppy_device); - } else - { menu::stack_push(ui(), container(), *selected_device); - } + // reset the existing menu reset(reset_options::REMEMBER_POSITION); } diff --git a/src/frontend/mame/ui/filesel.cpp b/src/frontend/mame/ui/filesel.cpp index 376202cb1c8..0c38129ed9f 100644 --- a/src/frontend/mame/ui/filesel.cpp +++ b/src/frontend/mame/ui/filesel.cpp @@ -12,8 +12,8 @@ ***************************************************************************/ #include "emu.h" - #include "ui/filesel.h" + #include "ui/ui.h" #include "ui/utils.h" @@ -24,7 +24,9 @@ #include #include + namespace ui { + /*************************************************************************** CONSTANTS ***************************************************************************/ @@ -310,8 +312,8 @@ void menu_file_selector::select_item(const file_selector_entry &entry) case SELECTOR_ENTRY_TYPE_DRIVE: case SELECTOR_ENTRY_TYPE_DIRECTORY: - // drive/directory - first check the path { + // drive/directory - first check the path util::zippath_directory::ptr dir; osd_file::error const err = util::zippath_directory::open(entry.fullpath, dir); if (err != osd_file::error::NONE) diff --git a/src/frontend/mame/ui/mainmenu.cpp b/src/frontend/mame/ui/mainmenu.cpp index 1051b322d99..9fb66331249 100644 --- a/src/frontend/mame/ui/mainmenu.cpp +++ b/src/frontend/mame/ui/mainmenu.cpp @@ -114,7 +114,7 @@ void menu_main::populate(float &customtop, float &custombottom) item_append(_("Slider Controls"), 0, (void *)SLIDERS); - item_append(_("Video Options"), 0, (machine().render().target_by_index(1) || machine().video().snapshot_target().view_name(1)) ? (void *)VIDEO_TARGETS : (void *)VIDEO_OPTIONS); + item_append(_("Video Options"), 0, (void *)VIDEO_TARGETS); if (machine().crosshair().get_usage()) item_append(_("Crosshair Options"), 0, (void *)CROSSHAIR); diff --git a/src/frontend/mame/ui/menu.cpp b/src/frontend/mame/ui/menu.cpp index 4fb9616c355..76930eda029 100644 --- a/src/frontend/mame/ui/menu.cpp +++ b/src/frontend/mame/ui/menu.cpp @@ -9,7 +9,6 @@ *********************************************************************/ #include "emu.h" - #include "ui/menu.h" #include "ui/ui.h" diff --git a/src/frontend/mame/ui/videoopt.cpp b/src/frontend/mame/ui/videoopt.cpp index 21ba181ecb7..e49b743fc15 100644 --- a/src/frontend/mame/ui/videoopt.cpp +++ b/src/frontend/mame/ui/videoopt.cpp @@ -56,9 +56,8 @@ void menu_video_targets::populate(float &customtop, float &custombottom) item_append(util::string_format(_("Screen #%d"), targetnum), 0, target); } - // add option for snapshot target if it has multiple views - if (machine().video().snapshot_target().view_name(1)) - item_append("Snapshot", 0, &machine().video().snapshot_target()); + // add option for snapshot target + item_append("Snapshot", 0, &machine().video().snapshot_target()); } /*------------------------------------------------- @@ -98,8 +97,11 @@ menu_video_options::menu_video_options( , m_show_title(false) , m_snapshot(snapshot) { - set_selected_index(target.view()); - reset(reset_options::REMEMBER_POSITION); + if (!m_snapshot || !machine().video().snap_native()) + { + set_selected_index(target.view()); + reset(reset_options::REMEMBER_POSITION); + } } menu_video_options::menu_video_options( @@ -114,8 +116,11 @@ menu_video_options::menu_video_options( , m_show_title(true) , m_snapshot(snapshot) { - set_selected_index(target.view() + 2); - reset(reset_options::REMEMBER_POSITION); + if (!m_snapshot || !machine().video().snap_native()) + { + set_selected_index(target.view() + 2); + reset(reset_options::REMEMBER_POSITION); + } } menu_video_options::~menu_video_options() @@ -134,9 +139,12 @@ void menu_video_options::populate(float &customtop, float &custombottom) } // add items for each view - for (char const *name = m_target.view_name(ref = 0); name; name = m_target.view_name(++ref)) - item_append(name, 0, reinterpret_cast(ITEM_VIEW_FIRST + ref)); - item_append(menu_item_type::SEPARATOR); + if (!m_snapshot || !machine().video().snap_native()) + { + for (char const *name = m_target.view_name(ref = 0); name; name = m_target.view_name(++ref)) + item_append(name, 0, reinterpret_cast(ITEM_VIEW_FIRST + ref)); + item_append(menu_item_type::SEPARATOR); + } // add items for visibility toggles auto const &toggles = m_target.visibility_toggles(); @@ -169,7 +177,8 @@ void menu_video_options::populate(float &customtop, float &custombottom) item_append(_("Rotate"), subtext, FLAG_LEFT_ARROW | FLAG_RIGHT_ARROW, reinterpret_cast(ITEM_ROTATE)); // cropping - item_append_on_off(_("Zoom to Screen Area"), m_target.zoom_to_screen(), 0, reinterpret_cast(ITEM_ZOOM)); + bool const canzoom(m_target.current_view().has_art() && !m_target.current_view().visible_screens().empty()); + item_append_on_off(_("Zoom to Screen Area"), m_target.zoom_to_screen(), canzoom ? 0U : (FLAG_INVERT | FLAG_DISABLE), reinterpret_cast(ITEM_ZOOM)); if (!m_snapshot) { diff --git a/src/lib/util/strformat.cpp b/src/lib/util/strformat.cpp index e72e8b74a83..e173fb6aadf 100644 --- a/src/lib/util/strformat.cpp +++ b/src/lib/util/strformat.cpp @@ -50,6 +50,7 @@ template void format_argument::static_output(s 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 &); @@ -64,6 +65,7 @@ template bool format_argument::static_make_integer::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); @@ -78,6 +80,7 @@ template void format_argument::static_store_integer::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 *); @@ -95,6 +98,7 @@ template void format_argument::static_output( 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 &); @@ -110,6 +114,7 @@ template bool format_argument::static_make_integer::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); @@ -125,6 +130,7 @@ template void format_argument::static_store_integer::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 *); @@ -141,6 +147,7 @@ template void format_argument::static_output( 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 &); @@ -155,6 +162,7 @@ template bool format_argument::static_make_integer::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); @@ -169,6 +177,7 @@ template void format_argument::static_store_integer::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 *); @@ -186,6 +195,7 @@ template void format_argument::static_output 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 &); @@ -201,6 +211,7 @@ template bool format_argument::static_make_integer::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); @@ -216,6 +227,7 @@ template void format_argument::static_store_integer::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 *); @@ -232,6 +244,7 @@ template void format_argument::static_output::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 &); @@ -246,6 +259,7 @@ template bool format_argument::static_make_integer::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); @@ -260,6 +274,7 @@ template void format_argument::static_store_integer::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 *); @@ -277,6 +292,7 @@ template void format_argument::static_output::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 &); @@ -292,6 +308,7 @@ template bool format_argument::static_make_integer::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); @@ -307,6 +324,7 @@ template void format_argument::static_store_integer::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 *); @@ -323,6 +341,7 @@ template void format_argument::static_output::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 &); @@ -337,6 +356,7 @@ template bool format_argument::static_make_integer::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); @@ -351,6 +371,7 @@ template void format_argument::static_store_integer::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 *); @@ -368,6 +389,7 @@ template void format_argument::static_output::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 &); @@ -383,6 +405,7 @@ template bool format_argument::static_make_integer::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); @@ -398,6 +421,7 @@ template void format_argument::static_store_integer::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 *); @@ -414,6 +438,7 @@ template void format_argument::static_output( 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 &); @@ -428,6 +453,7 @@ template bool format_argument::static_make_integer::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); @@ -442,6 +468,7 @@ template void format_argument::static_store_integer::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 *); @@ -459,6 +486,7 @@ template void format_argument::static_output 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 &); @@ -474,6 +502,7 @@ template bool format_argument::static_make_integer::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); @@ -489,6 +518,7 @@ template void format_argument::static_store_integer::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 *); @@ -505,6 +535,7 @@ template void format_argument::static_output(v 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 &); @@ -519,6 +550,7 @@ template bool format_argument::static_make_integer::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); @@ -533,6 +565,7 @@ template void format_argument::static_store_integer::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 *); @@ -550,6 +583,7 @@ template void format_argument::static_output( 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 &); @@ -565,6 +599,7 @@ template bool format_argument::static_make_integer::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); @@ -580,6 +615,7 @@ template void format_argument::static_store_integer::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; diff --git a/src/lib/util/strformat.h b/src/lib/util/strformat.h index 0ce57606436..1f9818fa465 100644 --- a/src/lib/util/strformat.h +++ b/src/lib/util/strformat.h @@ -1817,6 +1817,7 @@ extern template void format_argument::static_output::static_output(std::ostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::ostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::ostream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::ostream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -1831,6 +1832,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -1845,6 +1847,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::wostream &, format_flags const &, void const *); @@ -1862,6 +1865,7 @@ extern template void format_argument::static_output::static_output(std::wostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wostream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::wostream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -1877,6 +1881,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -1892,6 +1897,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::iostream &, format_flags const &, void const *); @@ -1908,6 +1914,7 @@ extern template void format_argument::static_output::static_output(std::iostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::iostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::iostream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::iostream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -1922,6 +1929,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -1936,6 +1944,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); @@ -1953,6 +1962,7 @@ extern template void format_argument::static_output::static_output(std::wiostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::wiostream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -1968,6 +1978,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -1983,6 +1994,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); @@ -1999,6 +2011,7 @@ extern template void format_argument::static_output::static_output(std::ostringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::ostringstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2013,6 +2026,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2027,6 +2041,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); @@ -2044,6 +2059,7 @@ extern template void format_argument::static_output::static_output(std::wostringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::wostringstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2059,6 +2075,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2074,6 +2091,7 @@ extern template void format_argument::static_store_integer< extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); @@ -2090,6 +2108,7 @@ extern template void format_argument::static_output::static_output(std::stringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::stringstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2104,6 +2123,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2118,6 +2138,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); @@ -2135,6 +2156,7 @@ extern template void format_argument::static_output::static_output(std::wstringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); extern template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); +extern template void format_argument::static_output(std::wstringstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2150,6 +2172,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2165,6 +2188,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); @@ -2181,6 +2205,7 @@ extern template void format_argument::static_output::static_output(ovectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); +extern template void format_argument::static_output(ovectorstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2195,6 +2220,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2209,6 +2235,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); @@ -2226,6 +2253,7 @@ extern template void format_argument::static_output::static_output(wovectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); +extern template void format_argument::static_output(wovectorstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2241,6 +2269,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2256,6 +2285,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(vectorstream &, format_flags const &, void const *); @@ -2272,6 +2302,7 @@ extern template void format_argument::static_output::static_output(vectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(vectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(vectorstream &, format_flags const &, void const *); +extern template void format_argument::static_output(vectorstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2286,6 +2317,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2300,6 +2332,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument; extern template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); @@ -2317,6 +2350,7 @@ extern template void format_argument::static_output::static_output(wvectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); extern template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); +extern template void format_argument::static_output(wvectorstream &, format_flags const &, void const *); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); @@ -2332,6 +2366,7 @@ extern template bool format_argument::static_make_integer::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); extern template bool format_argument::static_make_integer(void const *, int &); +extern template bool format_argument::static_make_integer(void const *, int &); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); @@ -2347,6 +2382,7 @@ extern template void format_argument::static_store_integer::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template void format_argument::static_store_integer(void const *, std::streamoff); +extern template void format_argument::static_store_integer(void const *, std::streamoff); extern template class format_argument_pack; extern template class format_argument_pack;