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.
This commit is contained in:
parent
fb81cb16bb
commit
4cf33cfe0a
@ -1625,104 +1625,105 @@ if (BUSES["ISA"]~=null) then
|
||||
MAME_DIR .. "src/devices/bus/isa/isa.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/isa_cards.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/isa_cards.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mda.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mda.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/adlib.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/adlib.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmdr.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmdr.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmsr.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmsr.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/com.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/com.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mufdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mufdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/finalchs.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/finalchs.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/gblaster.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/gblaster.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/gus.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/gus.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/sb16.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/sb16.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/hdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/hdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/cl_sh260.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/cl_sh260.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mpu401.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mpu401.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pcmidi.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pcmidi.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/sblaster.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/sblaster.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/stereo_fx.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/stereo_fx.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ssi2001.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ssi2001.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ide.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ide.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/xtide.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/xtide.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/side116.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/side116.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c503.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c503.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c505.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c505.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3xtwin.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3xtwin.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/acb2072.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/acb2072.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/adlib.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/adlib.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/aga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/aga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha1542b.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha1542b.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha1542c.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha1542c.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha174x.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/aha174x.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1007a.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1007a.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/dectalk.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/dectalk.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pds.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pds.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/omti8621.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/omti8621.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/asc88.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/asc88.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/bblue2.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/bblue2.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/bt54x.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/bt54x.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/cga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/cga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_cirrus.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_cirrus.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmdr.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmdr.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmsr.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/chessmsr.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/cl_sh260.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/cl_sh260.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/com.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/com.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/dcb.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/dcb.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/dectalk.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/dectalk.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ega.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ega.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_hgb107x.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_hgb107x.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_sad8852.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_sad8852.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_twib.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_twib.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ex1280.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ex1280.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pgc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pgc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga_ati.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga_ati.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/finalchs.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/finalchs.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/gblaster.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/gblaster.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/gus.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/gus.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/hdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/hdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/hpblp.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ibm_mfc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ide.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ide.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lpt.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lpt.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lrk330.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lrk330.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mach32.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mach32.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_tseng.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_tseng.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_s3.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_s3.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/s3virge.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/s3virge.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pc1640_iga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pc1640_iga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c503.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c503.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_rom.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_rom.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mcd.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mcd.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mda.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mda.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mpu401.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mpu401.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mufdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mufdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_com.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_com.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ne1000.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ne1000.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ne2000.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ne2000.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c505.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3c505.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lpt.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lpt.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/np600.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/np600.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/num9rev.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/num9rev.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/omti8621.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/omti8621.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/opus100pm.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/opus100pm.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_hdc.cpp",
|
||||
@ -1731,59 +1732,58 @@ if (BUSES["ISA"]~=null) then
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_rom.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_sound.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/p1_sound.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_rom.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mc1502_rom.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/xsu_cards.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/xsu_cards.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pc1640_iga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pc1640_iga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pcmidi.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pcmidi.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pds.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pds.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/pgc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/pgc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/s3virge.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/s3virge.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/sb16.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/sb16.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/sblaster.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/sblaster.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/sc499.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/sc499.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/aga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/aga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/side116.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/side116.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ssi2001.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ssi2001.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/stereo_fx.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/stereo_fx.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_cirrus.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_cirrus.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_s3.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_s3.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_trident.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_trident.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/num9rev.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/num9rev.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/mcd.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/mcd.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_com.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_com.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/myb3k_fdc.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_sad8852.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_sad8852.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_twib.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_twib.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_hgb107x.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/eis_hgb107x.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lbaenhancer.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/np600.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/np600.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/bt54x.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/bt54x.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/dcb.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/dcb.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_tseng.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/svga_tseng.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra12f.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra12f.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra14f.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra14f.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra24f.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/ultra24f.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/asc88.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/asc88.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/bblue2.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/bblue2.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/3xtwin.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/3xtwin.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/lrk330.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/lrk330.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/opus100pm.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/opus100pm.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/hpblp.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga_ati.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/vga_ati.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1002a_wx1.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1007a.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wd1007a.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/xsu_cards.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/xsu_cards.h",
|
||||
MAME_DIR .. "src/devices/bus/isa/xtide.cpp",
|
||||
MAME_DIR .. "src/devices/bus/isa/xtide.h",
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -8,7 +8,8 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "hpblp.h"
|
||||
#include "bus/isa/isa.h"
|
||||
|
||||
//#define VERBOSE 1
|
||||
#include "logmacro.h"
|
||||
|
||||
#define BLP_TAG "blpcpu"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "isa.h"
|
||||
|
||||
#include "bus/hp_dio/hp_dio.h"
|
||||
#include "bus/ieee488/ieee488.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
|
@ -280,7 +280,7 @@ const char *drcuml_state::symbol_find(void *base, u32 *offset)
|
||||
// if generated
|
||||
//-------------------------------------------------
|
||||
|
||||
void drcuml_state::log_vprintf(util::format_argument_pack<std::ostream> const &args)
|
||||
void drcuml_state::log_vprintf(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
// if we have a file, print to it
|
||||
if (m_umllog)
|
||||
|
@ -192,7 +192,7 @@ public:
|
||||
{
|
||||
log_vprintf(util::make_format_argument_pack(std::forward<Format>(fmt), std::forward<Params>(args)...));
|
||||
}
|
||||
void log_vprintf(util::format_argument_pack<std::ostream> const &args);
|
||||
void log_vprintf(util::format_argument_pack<char> const &args);
|
||||
void log_flush() { if (logging()) m_umllog->flush(); }
|
||||
bool logging_native() const { return m_beintf->logging(); }
|
||||
|
||||
|
@ -1086,7 +1086,7 @@ void debugger_console::print_core_wrap(std::string_view text, int wrapcol)
|
||||
// the format to the debug console
|
||||
//-------------------------------------------------
|
||||
|
||||
void debugger_console::vprintf(util::format_argument_pack<std::ostream> const &args)
|
||||
void debugger_console::vprintf(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
print_core(util::string_format(args));
|
||||
|
||||
@ -1094,7 +1094,7 @@ void debugger_console::vprintf(util::format_argument_pack<std::ostream> const &a
|
||||
m_machine.debug_view().update_all(DVT_CONSOLE);
|
||||
}
|
||||
|
||||
void debugger_console::vprintf(util::format_argument_pack<std::ostream> &&args)
|
||||
void debugger_console::vprintf(util::format_argument_pack<char> &&args)
|
||||
{
|
||||
print_core(util::string_format(std::move(args)));
|
||||
|
||||
@ -1108,7 +1108,7 @@ void debugger_console::vprintf(util::format_argument_pack<std::ostream> &&args)
|
||||
// using the format to the debug console
|
||||
//-------------------------------------------------
|
||||
|
||||
void debugger_console::vprintf_wrap(int wrapcol, util::format_argument_pack<std::ostream> const &args)
|
||||
void debugger_console::vprintf_wrap(int wrapcol, util::format_argument_pack<char> const &args)
|
||||
{
|
||||
print_core_wrap(util::string_format(args), wrapcol);
|
||||
|
||||
@ -1116,7 +1116,7 @@ void debugger_console::vprintf_wrap(int wrapcol, util::format_argument_pack<std:
|
||||
m_machine.debug_view().update_all(DVT_CONSOLE);
|
||||
}
|
||||
|
||||
void debugger_console::vprintf_wrap(int wrapcol, util::format_argument_pack<std::ostream> &&args)
|
||||
void debugger_console::vprintf_wrap(int wrapcol, util::format_argument_pack<char> &&args)
|
||||
{
|
||||
print_core_wrap(util::string_format(std::move(args)), wrapcol);
|
||||
|
||||
|
@ -84,10 +84,10 @@ public:
|
||||
void process_source_file();
|
||||
|
||||
// console management
|
||||
void vprintf(util::format_argument_pack<std::ostream> const &args);
|
||||
void vprintf(util::format_argument_pack<std::ostream> &&args);
|
||||
void vprintf_wrap(int wrapcol, util::format_argument_pack<std::ostream> const &args);
|
||||
void vprintf_wrap(int wrapcol, util::format_argument_pack<std::ostream> &&args);
|
||||
void vprintf(util::format_argument_pack<char> const &args);
|
||||
void vprintf(util::format_argument_pack<char> &&args);
|
||||
void vprintf_wrap(int wrapcol, util::format_argument_pack<char> const &args);
|
||||
void vprintf_wrap(int wrapcol, util::format_argument_pack<char> &&args);
|
||||
text_buffer &get_console_textbuf() const { return *m_console_textbuf; }
|
||||
|
||||
// errorlog management
|
||||
|
@ -388,7 +388,7 @@ void debugger_cpu::go_vblank()
|
||||
m_execution_state = exec_state::RUNNING;
|
||||
}
|
||||
|
||||
void debugger_cpu::halt_on_next_instruction(device_t *device, util::format_argument_pack<std::ostream> &&args)
|
||||
void debugger_cpu::halt_on_next_instruction(device_t *device, util::format_argument_pack<char> &&args)
|
||||
{
|
||||
// if something is pending on this CPU already, ignore this request
|
||||
if (device == m_breakcpu)
|
||||
@ -1176,7 +1176,7 @@ void device_debug::go_branch(bool sense, const char *condition)
|
||||
// to templates in C++ being janky as all get out
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_debug::halt_on_next_instruction_impl(util::format_argument_pack<std::ostream> &&args)
|
||||
void device_debug::halt_on_next_instruction_impl(util::format_argument_pack<char> &&args)
|
||||
{
|
||||
assert(m_exec != nullptr);
|
||||
m_device.machine().debugger().cpu().halt_on_next_instruction(&m_device, std::move(args));
|
||||
@ -2079,7 +2079,7 @@ void device_debug::tracer::interrupt_update(int irqline, offs_t pc)
|
||||
// vprintf - generic print to the trace file
|
||||
//-------------------------------------------------
|
||||
|
||||
void device_debug::tracer::vprintf(util::format_argument_pack<std::ostream> const &args)
|
||||
void device_debug::tracer::vprintf(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
// pass through to the file
|
||||
util::stream_format(*m_file, args);
|
||||
|
@ -165,7 +165,7 @@ public:
|
||||
void compute_debug_flags();
|
||||
|
||||
private:
|
||||
void halt_on_next_instruction_impl(util::format_argument_pack<std::ostream> &&args);
|
||||
void halt_on_next_instruction_impl(util::format_argument_pack<char> &&args);
|
||||
|
||||
// internal helpers
|
||||
void prepare_for_step_overout(offs_t pc);
|
||||
@ -228,7 +228,7 @@ private:
|
||||
|
||||
void update(offs_t pc);
|
||||
void interrupt_update(int irqline, offs_t pc);
|
||||
void vprintf(util::format_argument_pack<std::ostream> const &args);
|
||||
void vprintf(util::format_argument_pack<char> const &args);
|
||||
void flush();
|
||||
bool logerror() const { return m_logerror; }
|
||||
|
||||
@ -406,7 +406,7 @@ public:
|
||||
void stop_hook(device_t *device);
|
||||
void go_next_device(device_t *device);
|
||||
void go_vblank();
|
||||
void halt_on_next_instruction(device_t *device, util::format_argument_pack<std::ostream> &&args);
|
||||
void halt_on_next_instruction(device_t *device, util::format_argument_pack<char> &&args);
|
||||
void ensure_comments_loaded();
|
||||
void reset_transient_flags();
|
||||
|
||||
|
@ -59,12 +59,6 @@ bool cpu_device::cpu_is_interruptible() const
|
||||
return false;
|
||||
}
|
||||
|
||||
void cpu_device::defer_access(void)
|
||||
{
|
||||
m_access_to_be_redone = true;
|
||||
*m_icountptr = 0;
|
||||
}
|
||||
|
||||
bool cpu_device::access_before_time(u64 access_time, u64 current_time)
|
||||
{
|
||||
s32 delta = access_time - current_time;
|
||||
@ -104,3 +98,8 @@ void cpu_device::access_after_delay(u32 cycles)
|
||||
*m_icountptr -= cycles;
|
||||
}
|
||||
|
||||
void cpu_device::defer_access()
|
||||
{
|
||||
m_access_to_be_redone = true;
|
||||
*m_icountptr = 0;
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
|
||||
// The access has already happened, nothing to abort
|
||||
void access_after_delay(u32 cycles);
|
||||
void defer_access(void);
|
||||
void defer_access();
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
|
@ -13,13 +13,13 @@
|
||||
#include "emucore.h"
|
||||
#include "osdcore.h"
|
||||
|
||||
emu_fatalerror::emu_fatalerror(util::format_argument_pack<std::ostream> const &args)
|
||||
emu_fatalerror::emu_fatalerror(util::format_argument_pack<char> const &args)
|
||||
: emu_fatalerror(0, args)
|
||||
{
|
||||
osd_break_into_debugger(m_text.c_str());
|
||||
}
|
||||
|
||||
emu_fatalerror::emu_fatalerror(int _exitcode, util::format_argument_pack<std::ostream> const &args)
|
||||
emu_fatalerror::emu_fatalerror(int _exitcode, util::format_argument_pack<char> const &args)
|
||||
: m_text(util::string_format(args))
|
||||
, m_code(_exitcode)
|
||||
{
|
||||
|
@ -228,17 +228,17 @@ class emu_exception : public std::exception { };
|
||||
class emu_fatalerror : public emu_exception
|
||||
{
|
||||
public:
|
||||
emu_fatalerror(util::format_argument_pack<std::ostream> const &args);
|
||||
emu_fatalerror(int _exitcode, util::format_argument_pack<std::ostream> const &args);
|
||||
emu_fatalerror(util::format_argument_pack<char> const &args);
|
||||
emu_fatalerror(int _exitcode, util::format_argument_pack<char> const &args);
|
||||
|
||||
template <typename Format, typename... Params>
|
||||
emu_fatalerror(Format const &fmt, Params &&... args)
|
||||
: emu_fatalerror(static_cast<util::format_argument_pack<std::ostream> const &>(util::make_format_argument_pack(fmt, std::forward<Params>(args)...)))
|
||||
: emu_fatalerror(static_cast<util::format_argument_pack<char> const &>(util::make_format_argument_pack(fmt, std::forward<Params>(args)...)))
|
||||
{
|
||||
}
|
||||
template <typename Format, typename... Params>
|
||||
emu_fatalerror(int _exitcode, Format const &fmt, Params &&... args)
|
||||
: emu_fatalerror(_exitcode, static_cast<util::format_argument_pack<std::ostream> const &>(util::make_format_argument_pack(fmt, std::forward<Params>(args)...)))
|
||||
: emu_fatalerror(_exitcode, static_cast<util::format_argument_pack<char> const &>(util::make_format_argument_pack(fmt, std::forward<Params>(args)...)))
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -627,7 +627,7 @@ int emu_file::puts(std::string_view s)
|
||||
// vfprintf - vfprintf to a text file
|
||||
//-------------------------------------------------
|
||||
|
||||
int emu_file::vprintf(util::format_argument_pack<std::ostream> const &args)
|
||||
int emu_file::vprintf(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
// write the data if we can
|
||||
return m_file ? m_file->vprintf(args) : 0;
|
||||
|
@ -182,7 +182,7 @@ public:
|
||||
// writing
|
||||
u32 write(const void *buffer, u32 length);
|
||||
int puts(std::string_view s);
|
||||
int vprintf(util::format_argument_pack<std::ostream> const &args);
|
||||
int vprintf(util::format_argument_pack<char> const &args);
|
||||
template <typename Format, typename... Params> int printf(Format &&fmt, Params &&...args)
|
||||
{
|
||||
return vprintf(util::make_format_argument_pack(std::forward<Format>(fmt), std::forward<Params>(args)...));
|
||||
|
@ -1175,7 +1175,7 @@ void running_machine::popup_clear() const
|
||||
ui().popup_time(0, " ");
|
||||
}
|
||||
|
||||
void running_machine::popup_message(util::format_argument_pack<std::ostream> const &args) const
|
||||
void running_machine::popup_message(util::format_argument_pack<char> const &args) const
|
||||
{
|
||||
std::string const temp(string_format(args));
|
||||
ui().popup_time(temp.length() / 40 + 2, "%s", temp);
|
||||
|
@ -251,7 +251,7 @@ private:
|
||||
void nvram_load();
|
||||
void nvram_save();
|
||||
void popup_clear() const;
|
||||
void popup_message(util::format_argument_pack<std::ostream> const &args) const;
|
||||
void popup_message(util::format_argument_pack<char> const &args) const;
|
||||
|
||||
// internal callbacks
|
||||
void logfile_callback(const char *buffer);
|
||||
|
@ -89,7 +89,7 @@ real_profiler_state::real_profiler_state()
|
||||
// reset - initializes state
|
||||
//-------------------------------------------------
|
||||
|
||||
void real_profiler_state::reset(bool enabled)
|
||||
void real_profiler_state::reset(bool enabled) noexcept
|
||||
{
|
||||
assert(!m_filoptr || (m_filoptr == m_filo));
|
||||
|
||||
|
@ -30,8 +30,13 @@
|
||||
|
||||
#include "attotime.h"
|
||||
|
||||
#include "eminline.h" // for get_profile_ticks()
|
||||
#include "osdcore.h"
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// CONSTANTS
|
||||
@ -99,12 +104,12 @@ public:
|
||||
scope(scope const &) = delete;
|
||||
scope &operator=(scope const &) = delete;
|
||||
|
||||
scope(scope &&that) : m_host(that.m_host), m_active(that.m_active)
|
||||
scope(scope &&that) noexcept : m_host(that.m_host), m_active(that.m_active)
|
||||
{
|
||||
that.m_active = false;
|
||||
}
|
||||
|
||||
scope(real_profiler_state &host, profile_type type) : m_host(host), m_active(false)
|
||||
scope(real_profiler_state &host, profile_type type) noexcept : m_host(host), m_active(false)
|
||||
{
|
||||
if (m_host.enabled())
|
||||
{
|
||||
@ -118,7 +123,7 @@ public:
|
||||
stop();
|
||||
}
|
||||
|
||||
void stop()
|
||||
void stop() noexcept
|
||||
{
|
||||
if (m_active)
|
||||
{
|
||||
@ -132,14 +137,14 @@ public:
|
||||
real_profiler_state();
|
||||
|
||||
// getters
|
||||
bool enabled() const
|
||||
bool enabled() const noexcept
|
||||
{
|
||||
return m_filoptr != nullptr;
|
||||
}
|
||||
const char *text(running_machine &machine);
|
||||
|
||||
// enable/disable
|
||||
void enable(bool state = true)
|
||||
void enable(bool state = true) noexcept
|
||||
{
|
||||
if (state != enabled())
|
||||
{
|
||||
@ -148,21 +153,31 @@ public:
|
||||
}
|
||||
|
||||
// start/stop
|
||||
[[nodiscard]] auto start(profile_type type) { return scope(*this, type); }
|
||||
[[nodiscard]] auto start(profile_type type) noexcept { return scope(*this, type); }
|
||||
|
||||
private:
|
||||
void reset(bool enabled);
|
||||
// an entry in the FILO
|
||||
struct filo_entry
|
||||
{
|
||||
int type; // type of entry
|
||||
osd_ticks_t start; // start time
|
||||
};
|
||||
|
||||
void reset(bool enabled) noexcept;
|
||||
void update_text(running_machine &machine);
|
||||
|
||||
//-------------------------------------------------
|
||||
// real_start - mark the beginning of a
|
||||
// profiler entry
|
||||
//-------------------------------------------------
|
||||
ATTR_FORCE_INLINE void real_start(profile_type type)
|
||||
ATTR_FORCE_INLINE void real_start(profile_type type) noexcept
|
||||
{
|
||||
// fail if we overflow
|
||||
if (m_filoptr >= &m_filo[std::size(m_filo) - 1])
|
||||
throw emu_fatalerror("Profiler FILO overflow (type = %d)\n", type);
|
||||
if (UNEXPECTED(m_filoptr >= &m_filo[std::size(m_filo) - 1]))
|
||||
{
|
||||
std::fprintf(stderr, "Profiler FILO overflow (type = %d)\n", int(type));
|
||||
std::abort();
|
||||
}
|
||||
|
||||
// get current tick count
|
||||
osd_ticks_t curticks = get_profile_ticks();
|
||||
@ -181,7 +196,7 @@ private:
|
||||
//-------------------------------------------------
|
||||
// real_stop - mark the end of a profiler entry
|
||||
//-------------------------------------------------
|
||||
ATTR_FORCE_INLINE void real_stop()
|
||||
ATTR_FORCE_INLINE void real_stop() noexcept
|
||||
{
|
||||
// degenerate scenario
|
||||
if (UNEXPECTED(m_filoptr <= m_filo))
|
||||
@ -200,13 +215,6 @@ private:
|
||||
m_filoptr->start = curticks;
|
||||
}
|
||||
|
||||
// an entry in the FILO
|
||||
struct filo_entry
|
||||
{
|
||||
int type; // type of entry
|
||||
osd_ticks_t start; // start time
|
||||
};
|
||||
|
||||
// internal state
|
||||
filo_entry * m_filoptr; // current FILO index
|
||||
std::string m_text; // profiler text
|
||||
@ -229,27 +237,27 @@ public:
|
||||
public:
|
||||
scope(scope const &) = delete;
|
||||
scope &operator=(scope const &) = delete;
|
||||
scope(scope &&that) = default;
|
||||
scope(dummy_profiler_state &host, profile_type type) : m_host(host) { }
|
||||
scope(scope &&that) noexcept = default;
|
||||
scope(dummy_profiler_state &host, profile_type type) noexcept : m_host(host) { }
|
||||
~scope() { m_host.real_stop(); }
|
||||
void stop() { }
|
||||
void stop() noexcept { }
|
||||
};
|
||||
|
||||
// construction/destruction
|
||||
dummy_profiler_state();
|
||||
|
||||
// getters
|
||||
bool enabled() const { return false; }
|
||||
bool enabled() const noexcept { return false; }
|
||||
const char *text(running_machine &machine) { return ""; }
|
||||
|
||||
// enable/disable
|
||||
void enable(bool state = true) { }
|
||||
void enable(bool state = true) noexcept { }
|
||||
|
||||
// start/stop
|
||||
[[nodiscard]] auto start(profile_type type) { return scope(*this, type); }
|
||||
[[nodiscard]] auto start(profile_type type) noexcept { return scope(*this, type); }
|
||||
|
||||
private:
|
||||
void real_stop() { }
|
||||
void real_stop() noexcept { }
|
||||
};
|
||||
|
||||
|
||||
|
@ -2895,7 +2895,7 @@ void validity_checker::build_output_prefix(std::ostream &str) const
|
||||
// error_output - error message output override
|
||||
//-------------------------------------------------
|
||||
|
||||
void validity_checker::output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args)
|
||||
void validity_checker::output_callback(osd_output_channel channel, const util::format_argument_pack<char> &args)
|
||||
{
|
||||
std::ostringstream output;
|
||||
switch (channel)
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
|
||||
protected:
|
||||
// osd_output interface
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args) override;
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<char> &args) override;
|
||||
|
||||
private:
|
||||
// internal map types
|
||||
|
@ -818,7 +818,7 @@ void lua_engine::initialize()
|
||||
{
|
||||
mame_ui_manager &mui = mame_machine_manager::instance()->ui();
|
||||
render_container &container = machine().render().ui_container();
|
||||
ui::menu_plugin::show_menu(mui, container, (char *)name);
|
||||
ui::menu_plugin::show_menu(mui, container, name);
|
||||
};
|
||||
emu["register_callback"] =
|
||||
[this] (sol::function cb, const std::string &name)
|
||||
|
@ -23,7 +23,7 @@
|
||||
// compute_rowpixels - compute a rowpixels value
|
||||
//-------------------------------------------------
|
||||
|
||||
inline int32_t bitmap_t::compute_rowpixels(int width, int xslop)
|
||||
inline int32_t bitmap_t::compute_rowpixels(int width, int xslop) noexcept
|
||||
{
|
||||
return width + 2 * xslop;
|
||||
}
|
||||
@ -34,7 +34,7 @@ inline int32_t bitmap_t::compute_rowpixels(int width, int xslop)
|
||||
// with the given slop values
|
||||
//-------------------------------------------------
|
||||
|
||||
inline void bitmap_t::compute_base(int xslop, int yslop)
|
||||
inline void bitmap_t::compute_base(int xslop, int yslop) noexcept
|
||||
{
|
||||
m_base = &m_alloc[(m_rowpixels * yslop + xslop) * (m_bpp / 8)];
|
||||
}
|
||||
@ -45,7 +45,7 @@ inline void bitmap_t::compute_base(int xslop, int yslop)
|
||||
// is valid and agrees with the BPP
|
||||
//-------------------------------------------------
|
||||
|
||||
inline bool bitmap_t::valid_format() const
|
||||
inline bool bitmap_t::valid_format() const noexcept
|
||||
{
|
||||
switch (m_format)
|
||||
{
|
||||
@ -81,7 +81,7 @@ inline bool bitmap_t::valid_format() const
|
||||
// BITMAP ALLOCATION/CONFIGURATION
|
||||
//**************************************************************************
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_t &&that)
|
||||
bitmap_t::bitmap_t(bitmap_t &&that) noexcept
|
||||
: m_alloc(std::move(that.m_alloc))
|
||||
, m_allocbytes(that.m_allocbytes)
|
||||
, m_base(that.m_base)
|
||||
@ -112,7 +112,7 @@ bitmap_t::bitmap_t(bitmap_t &&that)
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, int width, int height, int xslop, int yslop)
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, int width, int height, int xslop, int yslop) noexcept
|
||||
: m_alloc()
|
||||
, m_allocbytes(0)
|
||||
, m_format(format)
|
||||
@ -138,7 +138,7 @@ bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, int width, int height, int
|
||||
* @param rowpixels The rowpixels.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, void *base, int width, int height, int rowpixels)
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, void *base, int width, int height, int rowpixels) noexcept
|
||||
: m_alloc()
|
||||
, m_allocbytes(0)
|
||||
, m_base(base)
|
||||
@ -164,7 +164,7 @@ bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, void *base, int width, int
|
||||
* @param subrect The subrect.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, bitmap_t &source, const rectangle &subrect)
|
||||
bitmap_t::bitmap_t(bitmap_format format, uint8_t bpp, bitmap_t &source, const rectangle &subrect) noexcept
|
||||
: m_alloc()
|
||||
, m_allocbytes(0)
|
||||
, m_base(source.raw_pixptr(subrect.top(), subrect.left()))
|
||||
@ -195,7 +195,7 @@ bitmap_t::~bitmap_t()
|
||||
reset();
|
||||
}
|
||||
|
||||
bitmap_t &bitmap_t::operator=(bitmap_t &&that)
|
||||
bitmap_t &bitmap_t::operator=(bitmap_t &&that) noexcept
|
||||
{
|
||||
m_alloc = std::move(that.m_alloc);
|
||||
m_allocbytes = that.m_allocbytes;
|
||||
@ -225,7 +225,7 @@ bitmap_t &bitmap_t::operator=(bitmap_t &&that)
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
void bitmap_t::allocate(int width, int height, int xslop, int yslop) noexcept
|
||||
{
|
||||
assert(m_format != BITMAP_FORMAT_INVALID);
|
||||
assert(m_bpp == 8 || m_bpp == 16 || m_bpp == 32 || m_bpp == 64);
|
||||
@ -272,7 +272,7 @@ void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
void bitmap_t::resize(int width, int height, int xslop, int yslop) noexcept
|
||||
{
|
||||
assert(m_format != BITMAP_FORMAT_INVALID);
|
||||
assert(m_bpp == 8 || m_bpp == 16 || m_bpp == 32 || m_bpp == 64);
|
||||
@ -317,7 +317,7 @@ void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
void bitmap_t::reset()
|
||||
void bitmap_t::reset() noexcept
|
||||
{
|
||||
// delete any existing stuff
|
||||
set_palette(nullptr);
|
||||
@ -345,7 +345,7 @@ void bitmap_t::reset()
|
||||
* @param rowpixels The rowpixels.
|
||||
*/
|
||||
|
||||
void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
void bitmap_t::wrap(void *base, int width, int height, int rowpixels) noexcept
|
||||
{
|
||||
assert(base || (!width && !height));
|
||||
assert(!m_alloc || (&m_alloc[0] > base) || (&m_alloc[m_allocbytes] <= base));
|
||||
@ -373,7 +373,7 @@ void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
* @param subrect The subrect.
|
||||
*/
|
||||
|
||||
void bitmap_t::wrap(bitmap_t &source, const rectangle &subrect)
|
||||
void bitmap_t::wrap(bitmap_t &source, const rectangle &subrect) noexcept
|
||||
{
|
||||
assert(&source != this);
|
||||
assert(m_format == source.m_format);
|
||||
@ -402,7 +402,7 @@ void bitmap_t::wrap(bitmap_t &source, const rectangle &subrect)
|
||||
* @param [in,out] palette If non-null, the palette.
|
||||
*/
|
||||
|
||||
void bitmap_t::set_palette(palette_t *palette)
|
||||
void bitmap_t::set_palette(palette_t *palette) noexcept
|
||||
{
|
||||
// first reference the new palette
|
||||
if (palette)
|
||||
@ -426,7 +426,7 @@ void bitmap_t::set_palette(palette_t *palette)
|
||||
* @param bounds The bounds.
|
||||
*/
|
||||
|
||||
void bitmap_t::fill(uint64_t color, const rectangle &bounds)
|
||||
void bitmap_t::fill(uint64_t color, const rectangle &bounds) noexcept
|
||||
{
|
||||
// if we have a cliprect, intersect with that
|
||||
rectangle fill(bounds);
|
||||
|
@ -136,60 +136,60 @@ class bitmap_t
|
||||
protected:
|
||||
// construction/destruction -- subclasses only to ensure type correctness
|
||||
bitmap_t(const bitmap_t &) = delete;
|
||||
bitmap_t(bitmap_t &&that);
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, int width = 0, int height = 0, int xslop = 0, int yslop = 0);
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, void *base, int width, int height, int rowpixels);
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, bitmap_t &source, const rectangle &subrect);
|
||||
bitmap_t(bitmap_t &&that) noexcept;
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept;
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, void *base, int width, int height, int rowpixels) noexcept;
|
||||
bitmap_t(bitmap_format format, uint8_t bpp, bitmap_t &source, const rectangle &subrect) noexcept;
|
||||
virtual ~bitmap_t();
|
||||
|
||||
// prevent implicit copying
|
||||
bitmap_t &operator=(const bitmap_t &) = delete;
|
||||
bitmap_t &operator=(bitmap_t &&that);
|
||||
bitmap_t &operator=(bitmap_t &&that) noexcept;
|
||||
|
||||
public:
|
||||
// allocation/deallocation
|
||||
void reset();
|
||||
void reset() noexcept;
|
||||
|
||||
// getters
|
||||
int32_t width() const { return m_width; }
|
||||
int32_t height() const { return m_height; }
|
||||
int32_t rowpixels() const { return m_rowpixels; }
|
||||
int32_t rowbytes() const { return m_rowpixels * m_bpp / 8; }
|
||||
uint8_t bpp() const { return m_bpp; }
|
||||
bitmap_format format() const { return m_format; }
|
||||
bool valid() const { return (m_base != nullptr); }
|
||||
palette_t *palette() const { return m_palette; }
|
||||
const rectangle &cliprect() const { return m_cliprect; }
|
||||
int32_t width() const noexcept { return m_width; }
|
||||
int32_t height() const noexcept { return m_height; }
|
||||
int32_t rowpixels() const noexcept { return m_rowpixels; }
|
||||
int32_t rowbytes() const noexcept { return m_rowpixels * m_bpp / 8; }
|
||||
uint8_t bpp() const noexcept { return m_bpp; }
|
||||
bitmap_format format() const noexcept { return m_format; }
|
||||
bool valid() const noexcept { return (m_base != nullptr); }
|
||||
palette_t *palette() const noexcept { return m_palette; }
|
||||
const rectangle &cliprect() const noexcept { return m_cliprect; }
|
||||
|
||||
// allocation/sizing
|
||||
void allocate(int width, int height, int xslop = 0, int yslop = 0);
|
||||
void resize(int width, int height, int xslop = 0, int yslop = 0);
|
||||
// allocation/sizing (bitmap will become invalid if allocation fails)
|
||||
void allocate(int width, int height, int xslop = 0, int yslop = 0) noexcept;
|
||||
void resize(int width, int height, int xslop = 0, int yslop = 0) noexcept;
|
||||
|
||||
// operations
|
||||
void set_palette(palette_t *palette);
|
||||
void fill(uint64_t color) { fill(color, m_cliprect); }
|
||||
void fill(uint64_t color, const rectangle &bounds);
|
||||
void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, uint64_t color)
|
||||
void set_palette(palette_t *palette) noexcept;
|
||||
void fill(uint64_t color) noexcept { fill(color, m_cliprect); }
|
||||
void fill(uint64_t color, const rectangle &bounds) noexcept;
|
||||
void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, uint64_t color) noexcept
|
||||
{
|
||||
fill(color, rectangle(x, x + width - 1, y, y + height - 1));
|
||||
}
|
||||
|
||||
// pixel access
|
||||
void *raw_pixptr(int32_t y, int32_t x = 0) { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; }
|
||||
void const *raw_pixptr(int32_t y, int32_t x = 0) const { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; }
|
||||
void *raw_pixptr(int32_t y, int32_t x = 0) noexcept { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; }
|
||||
void const *raw_pixptr(int32_t y, int32_t x = 0) const noexcept { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; }
|
||||
|
||||
protected:
|
||||
// for use by subclasses only to ensure type correctness
|
||||
template <typename PixelType> PixelType &pixt(int32_t y, int32_t x = 0) { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); }
|
||||
template <typename PixelType> PixelType const &pixt(int32_t y, int32_t x = 0) const { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); }
|
||||
void wrap(void *base, int width, int height, int rowpixels);
|
||||
void wrap(bitmap_t &source, const rectangle &subrect);
|
||||
template <typename PixelType> PixelType &pixt(int32_t y, int32_t x = 0) noexcept { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); }
|
||||
template <typename PixelType> PixelType const &pixt(int32_t y, int32_t x = 0) const noexcept { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); }
|
||||
void wrap(void *base, int width, int height, int rowpixels) noexcept;
|
||||
void wrap(bitmap_t &source, const rectangle &subrect) noexcept;
|
||||
|
||||
private:
|
||||
// internal helpers
|
||||
int32_t compute_rowpixels(int width, int xslop);
|
||||
void compute_base(int xslop, int yslop);
|
||||
bool valid_format() const;
|
||||
static int32_t compute_rowpixels(int width, int xslop) noexcept;
|
||||
void compute_base(int xslop, int yslop) noexcept;
|
||||
bool valid_format() const noexcept;
|
||||
|
||||
// internal state
|
||||
std::unique_ptr<uint8_t []> m_alloc; // pointer to allocated pixel memory
|
||||
@ -214,26 +214,26 @@ class bitmap_specific : public bitmap_t
|
||||
|
||||
protected:
|
||||
// construction/destruction -- subclasses only
|
||||
bitmap_specific(bitmap_specific<PixelType> &&) = default;
|
||||
bitmap_specific(bitmap_format format, int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap_t(format, PIXEL_BITS, width, height, xslop, yslop) { }
|
||||
bitmap_specific(bitmap_format format, PixelType *base, int width, int height, int rowpixels) : bitmap_t(format, PIXEL_BITS, base, width, height, rowpixels) { }
|
||||
bitmap_specific(bitmap_format format, bitmap_specific<PixelType> &source, const rectangle &subrect) : bitmap_t(format, PIXEL_BITS, source, subrect) { }
|
||||
bitmap_specific(bitmap_specific<PixelType> &&) noexcept = default;
|
||||
bitmap_specific(bitmap_format format, int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap_t(format, PIXEL_BITS, width, height, xslop, yslop) { }
|
||||
bitmap_specific(bitmap_format format, PixelType *base, int width, int height, int rowpixels) noexcept : bitmap_t(format, PIXEL_BITS, base, width, height, rowpixels) { }
|
||||
bitmap_specific(bitmap_format format, bitmap_specific<PixelType> &source, const rectangle &subrect) noexcept : bitmap_t(format, PIXEL_BITS, source, subrect) { }
|
||||
|
||||
bitmap_specific<PixelType> &operator=(bitmap_specific<PixelType> &&) = default;
|
||||
bitmap_specific<PixelType> &operator=(bitmap_specific<PixelType> &&) noexcept = default;
|
||||
|
||||
public:
|
||||
using pixel_t = PixelType;
|
||||
|
||||
// getters
|
||||
uint8_t bpp() const { return PIXEL_BITS; }
|
||||
uint8_t bpp() const noexcept { return PIXEL_BITS; }
|
||||
|
||||
// pixel accessors
|
||||
PixelType &pix(int32_t y, int32_t x = 0) { return pixt<PixelType>(y, x); }
|
||||
PixelType const &pix(int32_t y, int32_t x = 0) const { return pixt<PixelType>(y, x); }
|
||||
PixelType &pix(int32_t y, int32_t x = 0) noexcept { return pixt<PixelType>(y, x); }
|
||||
PixelType const &pix(int32_t y, int32_t x = 0) const noexcept { return pixt<PixelType>(y, x); }
|
||||
|
||||
// operations
|
||||
void fill(PixelType color) { fill(color, cliprect()); }
|
||||
void fill(PixelType color, const rectangle &bounds)
|
||||
void fill(PixelType color) noexcept { fill(color, cliprect()); }
|
||||
void fill(PixelType color, const rectangle &bounds) noexcept
|
||||
{
|
||||
// if we have a cliprect, intersect with that
|
||||
rectangle fill(bounds);
|
||||
@ -244,7 +244,7 @@ public:
|
||||
std::fill_n(&pix(y, fill.left()), fill.width(), color);
|
||||
}
|
||||
}
|
||||
void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, PixelType color)
|
||||
void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, PixelType color) noexcept
|
||||
{
|
||||
fill(color, rectangle(x, x + width - 1, y, y + height - 1));
|
||||
}
|
||||
@ -276,17 +276,17 @@ class bitmap_ind8 : public bitmap8_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_ind8(bitmap_ind8 &&) = default;
|
||||
bitmap_ind8(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap8_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind8(uint8_t *base, int width, int height, int rowpixels) : bitmap8_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind8(bitmap_ind8 &source, const rectangle &subrect) : bitmap8_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint8_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_ind8(bitmap_ind8 &&) noexcept = default;
|
||||
bitmap_ind8(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap8_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind8(uint8_t *base, int width, int height, int rowpixels) noexcept : bitmap8_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind8(bitmap_ind8 &source, const rectangle &subrect) noexcept : bitmap8_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint8_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind8 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_ind8 &operator=(bitmap_ind8 &&) = default;
|
||||
bitmap_ind8 &operator=(bitmap_ind8 &&) noexcept = default;
|
||||
};
|
||||
|
||||
// BITMAP_FORMAT_IND16 bitmaps
|
||||
@ -296,17 +296,17 @@ class bitmap_ind16 : public bitmap16_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_ind16(bitmap_ind16 &&) = default;
|
||||
bitmap_ind16(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap16_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind16(uint16_t *base, int width, int height, int rowpixels) : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind16(bitmap_ind16 &source, const rectangle &subrect) : bitmap16_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint16_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind16 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_ind16(bitmap_ind16 &&) noexcept = default;
|
||||
bitmap_ind16(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap16_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind16(uint16_t *base, int width, int height, int rowpixels) noexcept : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind16(bitmap_ind16 &source, const rectangle &subrect) noexcept : bitmap16_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint16_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind16 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_ind16 &operator=(bitmap_ind16 &&) = default;
|
||||
bitmap_ind16 &operator=(bitmap_ind16 &&) noexcept = default;
|
||||
};
|
||||
|
||||
// BITMAP_FORMAT_IND32 bitmaps
|
||||
@ -316,17 +316,17 @@ class bitmap_ind32 : public bitmap32_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_ind32(bitmap_ind32 &&) = default;
|
||||
bitmap_ind32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind32(bitmap_ind32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_ind32(bitmap_ind32 &&) noexcept = default;
|
||||
bitmap_ind32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind32(uint32_t *base, int width, int height, int rowpixels) noexcept : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind32(bitmap_ind32 &source, const rectangle &subrect) noexcept : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind32 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_ind32 &operator=(bitmap_ind32 &&) = default;
|
||||
bitmap_ind32 &operator=(bitmap_ind32 &&) noexcept = default;
|
||||
};
|
||||
|
||||
// BITMAP_FORMAT_IND64 bitmaps
|
||||
@ -336,17 +336,17 @@ class bitmap_ind64 : public bitmap64_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_ind64(bitmap_ind64 &&) = default;
|
||||
bitmap_ind64(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap64_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind64(uint64_t *base, int width, int height, int rowpixels) : bitmap64_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind64(bitmap_ind64 &source, const rectangle &subrect) : bitmap64_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint64_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind64 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_ind64(bitmap_ind64 &&) noexcept = default;
|
||||
bitmap_ind64(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap64_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_ind64(uint64_t *base, int width, int height, int rowpixels) noexcept : bitmap64_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_ind64(bitmap_ind64 &source, const rectangle &subrect) noexcept : bitmap64_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint64_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_ind64 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_ind64 &operator=(bitmap_ind64 &&) = default;
|
||||
bitmap_ind64 &operator=(bitmap_ind64 &&) noexcept = default;
|
||||
};
|
||||
|
||||
|
||||
@ -359,17 +359,17 @@ class bitmap_yuy16 : public bitmap16_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_yuy16(bitmap_yuy16 &&) = default;
|
||||
bitmap_yuy16(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap16_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_yuy16(uint16_t *base, int width, int height, int rowpixels) : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_yuy16(bitmap_yuy16 &source, const rectangle &subrect) : bitmap16_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint16_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_yuy16 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_yuy16(bitmap_yuy16 &&) noexcept = default;
|
||||
bitmap_yuy16(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap16_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_yuy16(uint16_t *base, int width, int height, int rowpixels) noexcept : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_yuy16(bitmap_yuy16 &source, const rectangle &subrect) noexcept : bitmap16_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint16_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_yuy16 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_yuy16 &operator=(bitmap_yuy16 &&) = default;
|
||||
bitmap_yuy16 &operator=(bitmap_yuy16 &&) noexcept = default;
|
||||
};
|
||||
|
||||
// BITMAP_FORMAT_RGB32 bitmaps
|
||||
@ -379,17 +379,17 @@ class bitmap_rgb32 : public bitmap32_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_rgb32(bitmap_rgb32 &&) = default;
|
||||
bitmap_rgb32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_rgb32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_rgb32(bitmap_rgb32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_rgb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_rgb32(bitmap_rgb32 &&) noexcept = default;
|
||||
bitmap_rgb32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_rgb32(uint32_t *base, int width, int height, int rowpixels) noexcept : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_rgb32(bitmap_rgb32 &source, const rectangle &subrect) noexcept : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_rgb32 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_rgb32 &operator=(bitmap_rgb32 &&) = default;
|
||||
bitmap_rgb32 &operator=(bitmap_rgb32 &&) noexcept = default;
|
||||
};
|
||||
|
||||
// BITMAP_FORMAT_ARGB32 bitmaps
|
||||
@ -399,17 +399,17 @@ class bitmap_argb32 : public bitmap32_t
|
||||
|
||||
public:
|
||||
// construction/destruction
|
||||
bitmap_argb32(bitmap_argb32 &&) = default;
|
||||
bitmap_argb32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_argb32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_argb32(bitmap_argb32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_argb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
bitmap_argb32(bitmap_argb32 &&) noexcept = default;
|
||||
bitmap_argb32(int width = 0, int height = 0, int xslop = 0, int yslop = 0) noexcept : bitmap32_t(k_bitmap_format, width, height, xslop, yslop) { }
|
||||
bitmap_argb32(uint32_t *base, int width, int height, int rowpixels) noexcept : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { }
|
||||
bitmap_argb32(bitmap_argb32 &source, const rectangle &subrect) noexcept : bitmap32_t(k_bitmap_format, source, subrect) { }
|
||||
void wrap(uint32_t *base, int width, int height, int rowpixels) noexcept { bitmap_t::wrap(base, width, height, rowpixels); }
|
||||
void wrap(bitmap_argb32 &source, const rectangle &subrect) noexcept { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); }
|
||||
|
||||
// getters
|
||||
bitmap_format format() const { return k_bitmap_format; }
|
||||
bitmap_format format() const noexcept { return k_bitmap_format; }
|
||||
|
||||
bitmap_argb32 &operator=(bitmap_argb32 &&) = default;
|
||||
bitmap_argb32 &operator=(bitmap_argb32 &&) noexcept = default;
|
||||
};
|
||||
|
||||
#endif // MAME_UTIL_BITMAP_H
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
virtual char *gets(char *s, int n) override { return m_file.gets(s, n); }
|
||||
|
||||
virtual int puts(std::string_view s) override { return m_file.puts(s); }
|
||||
virtual int vprintf(util::format_argument_pack<std::ostream> const &args) override { return m_file.vprintf(args); }
|
||||
virtual int vprintf(util::format_argument_pack<char> const &args) override { return m_file.vprintf(args); }
|
||||
virtual std::error_condition truncate(std::uint64_t offset) override { return m_file.truncate(offset); }
|
||||
|
||||
private:
|
||||
@ -88,7 +88,7 @@ public:
|
||||
virtual int ungetc(int c) override;
|
||||
virtual char *gets(char *s, int n) override;
|
||||
virtual int puts(std::string_view s) override;
|
||||
virtual int vprintf(util::format_argument_pack<std::ostream> const &args) override;
|
||||
virtual int vprintf(util::format_argument_pack<char> const &args) override;
|
||||
|
||||
protected:
|
||||
core_text_file(std::uint32_t openflags)
|
||||
@ -534,12 +534,12 @@ int core_text_file::puts(std::string_view s)
|
||||
// vprintf - vfprintf to a text file
|
||||
//-------------------------------------------------
|
||||
|
||||
int core_text_file::vprintf(util::format_argument_pack<std::ostream> const &args)
|
||||
int core_text_file::vprintf(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
m_printf_buffer.clear();
|
||||
m_printf_buffer.reserve(1024);
|
||||
m_printf_buffer.seekp(0, ovectorstream::beg);
|
||||
util::stream_format<std::ostream, std::ostream>(m_printf_buffer, args);
|
||||
util::stream_format(m_printf_buffer, args);
|
||||
return puts(buf_to_string_view(m_printf_buffer));
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ public:
|
||||
virtual int puts(std::string_view s) = 0;
|
||||
|
||||
// printf-style text write to a file
|
||||
virtual int vprintf(util::format_argument_pack<std::ostream> const &args) = 0;
|
||||
virtual int vprintf(util::format_argument_pack<char> const &args) = 0;
|
||||
template <typename Format, typename... Params> int printf(Format &&fmt, Params &&...args)
|
||||
{
|
||||
return vprintf(util::make_format_argument_pack(std::forward<Format>(fmt), std::forward<Params>(args)...));
|
||||
|
@ -8,12 +8,12 @@
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include <cassert>
|
||||
|
||||
#include "palette.h"
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <cstdlib>
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -44,9 +44,7 @@ inline rgb_t palette_t::adjust_palette_entry(rgb_t entry, float brightness, floa
|
||||
// dirty_state - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
palette_client::dirty_state::dirty_state()
|
||||
: m_mindirty(0),
|
||||
m_maxdirty(0)
|
||||
palette_client::dirty_state::dirty_state() : m_mindirty(0), m_maxdirty(0)
|
||||
{
|
||||
}
|
||||
|
||||
@ -56,7 +54,7 @@ palette_client::dirty_state::dirty_state()
|
||||
// min/max values
|
||||
//-------------------------------------------------
|
||||
|
||||
const uint32_t *palette_client::dirty_state::dirty_list(uint32_t &mindirty, uint32_t &maxdirty)
|
||||
const uint32_t *palette_client::dirty_state::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept
|
||||
{
|
||||
// fill in the mindirty/maxdirty
|
||||
mindirty = m_mindirty;
|
||||
@ -92,7 +90,7 @@ void palette_client::dirty_state::resize(uint32_t colors)
|
||||
// mark_dirty - mark a single entry dirty
|
||||
//-------------------------------------------------
|
||||
|
||||
void palette_client::dirty_state::mark_dirty(uint32_t index)
|
||||
void palette_client::dirty_state::mark_dirty(uint32_t index) noexcept
|
||||
{
|
||||
m_dirty[index / 32] |= 1 << (index % 32);
|
||||
m_mindirty = std::min(m_mindirty, index);
|
||||
@ -105,7 +103,7 @@ void palette_client::dirty_state::mark_dirty(uint32_t index)
|
||||
// entries as clean
|
||||
//-------------------------------------------------
|
||||
|
||||
void palette_client::dirty_state::reset()
|
||||
void palette_client::dirty_state::reset() noexcept
|
||||
{
|
||||
// erase relevant entries in the new live one
|
||||
if (m_mindirty <= m_maxdirty)
|
||||
@ -168,20 +166,18 @@ palette_client::~palette_client()
|
||||
// list for a client
|
||||
//-------------------------------------------------
|
||||
|
||||
const uint32_t *palette_client::dirty_list(uint32_t &mindirty, uint32_t &maxdirty)
|
||||
const uint32_t *palette_client::dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept
|
||||
{
|
||||
// if nothing to report, report nothing and don't swap
|
||||
const uint32_t *result = m_live->dirty_list(mindirty, maxdirty);
|
||||
if (result == nullptr)
|
||||
return nullptr;
|
||||
uint32_t const *const result = m_live->dirty_list(mindirty, maxdirty);
|
||||
if (result)
|
||||
{
|
||||
// swap the live and previous lists
|
||||
std::swap(m_live, m_previous);
|
||||
|
||||
// swap the live and previous lists
|
||||
dirty_state *temp = m_live;
|
||||
m_live = m_previous;
|
||||
m_previous = temp;
|
||||
|
||||
// reset new live one and return the pointer to the previous
|
||||
m_live->reset();
|
||||
// reset new live one and return the pointer to the previous
|
||||
m_live->reset();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -266,7 +262,7 @@ palette_t::~palette_t()
|
||||
// palette_t - destructor
|
||||
//-------------------------------------------------
|
||||
|
||||
void palette_t::deref()
|
||||
void palette_t::deref() noexcept
|
||||
{
|
||||
if (--m_refcount == 0)
|
||||
delete this;
|
||||
|
@ -100,12 +100,12 @@ public:
|
||||
~palette_client();
|
||||
|
||||
// getters
|
||||
palette_client *next() const { return m_next; }
|
||||
palette_t &palette() const { return m_palette; }
|
||||
const uint32_t *dirty_list(uint32_t &mindirty, uint32_t &maxdirty);
|
||||
palette_client *next() const noexcept { return m_next; }
|
||||
palette_t &palette() const noexcept { return m_palette; }
|
||||
const uint32_t *dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept;
|
||||
|
||||
// dirty marking
|
||||
void mark_dirty(uint32_t index) { m_live->mark_dirty(index); }
|
||||
void mark_dirty(uint32_t index) noexcept { m_live->mark_dirty(index); }
|
||||
|
||||
private:
|
||||
// internal object to track dirty states
|
||||
@ -116,10 +116,10 @@ private:
|
||||
dirty_state();
|
||||
|
||||
// operations
|
||||
const uint32_t *dirty_list(uint32_t &mindirty, uint32_t &maxdirty);
|
||||
const uint32_t *dirty_list(uint32_t &mindirty, uint32_t &maxdirty) noexcept;
|
||||
void resize(uint32_t colors);
|
||||
void mark_dirty(uint32_t index);
|
||||
void reset();
|
||||
void mark_dirty(uint32_t index) noexcept;
|
||||
void reset() noexcept;
|
||||
|
||||
private:
|
||||
// internal state
|
||||
@ -149,15 +149,15 @@ public:
|
||||
static palette_t *alloc(uint32_t numcolors, uint32_t numgroups = 1);
|
||||
|
||||
// reference counting
|
||||
void ref() { m_refcount++; }
|
||||
void deref();
|
||||
void ref() noexcept { m_refcount++; }
|
||||
void deref() noexcept;
|
||||
|
||||
// getters
|
||||
int num_colors() const { return m_numcolors; }
|
||||
int num_groups() const { return m_numgroups; }
|
||||
int max_index() const { return m_numcolors * m_numgroups + 2; }
|
||||
uint32_t black_entry() const { return m_numcolors * m_numgroups + 0; }
|
||||
uint32_t white_entry() const { return m_numcolors * m_numgroups + 1; }
|
||||
int num_colors() const noexcept { return m_numcolors; }
|
||||
int num_groups() const noexcept { return m_numgroups; }
|
||||
int max_index() const noexcept { return m_numcolors * m_numgroups + 2; }
|
||||
uint32_t black_entry() const noexcept { return m_numcolors * m_numgroups + 0; }
|
||||
uint32_t white_entry() const noexcept { return m_numcolors * m_numgroups + 1; }
|
||||
|
||||
// overall adjustments
|
||||
void set_brightness(float brightness);
|
||||
@ -165,9 +165,9 @@ public:
|
||||
void set_gamma(float gamma);
|
||||
|
||||
// entry getters
|
||||
rgb_t entry_color(uint32_t index) const { return (index < m_numcolors) ? m_entry_color[index] : rgb_t::black(); }
|
||||
rgb_t entry_adjusted_color(uint32_t index) const { return (index < m_numcolors * m_numgroups) ? m_adjusted_color[index] : rgb_t::black(); }
|
||||
float entry_contrast(uint32_t index) const { return (index < m_numcolors) ? m_entry_contrast[index] : 1.0f; }
|
||||
rgb_t entry_color(uint32_t index) const noexcept { return (index < m_numcolors) ? m_entry_color[index] : rgb_t::black(); }
|
||||
rgb_t entry_adjusted_color(uint32_t index) const noexcept { return (index < m_numcolors * m_numgroups) ? m_adjusted_color[index] : rgb_t::black(); }
|
||||
float entry_contrast(uint32_t index) const noexcept { return (index < m_numcolors) ? m_entry_contrast[index] : 1.0f; }
|
||||
|
||||
// entry setters
|
||||
void entry_set_color(uint32_t index, rgb_t rgb);
|
||||
@ -177,9 +177,9 @@ public:
|
||||
void entry_set_contrast(uint32_t index, float contrast);
|
||||
|
||||
// entry list getters
|
||||
const rgb_t *entry_list_raw() const { return &m_entry_color[0]; }
|
||||
const rgb_t *entry_list_adjusted() const { return &m_adjusted_color[0]; }
|
||||
const rgb_t *entry_list_adjusted_rgb15() const { return &m_adjusted_rgb15[0]; }
|
||||
const rgb_t *entry_list_raw() const noexcept { return &m_entry_color[0]; }
|
||||
const rgb_t *entry_list_adjusted() const noexcept { return &m_adjusted_color[0]; }
|
||||
const rgb_t *entry_list_adjusted_rgb15() const noexcept { return &m_adjusted_rgb15[0]; }
|
||||
|
||||
// group adjustments
|
||||
void group_set_brightness(uint32_t group, float brightness);
|
||||
@ -198,14 +198,14 @@ private:
|
||||
void update_adjusted_color(uint32_t group, uint32_t index);
|
||||
|
||||
// internal state
|
||||
uint32_t m_refcount; // reference count on the palette
|
||||
uint32_t m_numcolors; // number of colors in the palette
|
||||
uint32_t m_numgroups; // number of groups in the palette
|
||||
uint32_t m_refcount; // reference count on the palette
|
||||
uint32_t m_numcolors; // number of colors in the palette
|
||||
uint32_t m_numgroups; // number of groups in the palette
|
||||
|
||||
float m_brightness; // overall brightness value
|
||||
float m_contrast; // overall contrast value
|
||||
float m_gamma; // overall gamma value
|
||||
uint8_t m_gamma_map[256]; // gamma map
|
||||
float m_brightness; // overall brightness value
|
||||
float m_contrast; // overall contrast value
|
||||
float m_gamma; // overall gamma value
|
||||
uint8_t m_gamma_map[256]; // gamma map
|
||||
|
||||
std::vector<rgb_t> m_entry_color; // array of raw colors
|
||||
std::vector<float> m_entry_contrast; // contrast value for each entry
|
||||
|
@ -23,639 +23,126 @@ template class format_chars<wchar_t>;
|
||||
|
||||
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<std::ostream>;
|
||||
template void format_argument<std::ostream>::static_output<char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<signed char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<unsigned char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<short>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<unsigned short>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<int>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<unsigned int>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<unsigned long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<long long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<unsigned long long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<char *>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<char const *>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<std::string>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostream>::static_output<std::string_view>(std::ostream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::ostream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<std::ostream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<std::ostream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
template class format_argument<char>;
|
||||
template void format_argument<char>::static_output<bool>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<signed char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<unsigned char>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<short>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<unsigned short>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<int>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<unsigned int>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<unsigned long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<long long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<unsigned long long>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<char *>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<char const *>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<std::string>(std::ostream &, format_flags const &, void const *);
|
||||
template void format_argument<char>::static_output<std::string_view>(std::ostream &, format_flags const &, void const *);
|
||||
template bool format_argument<char>::static_make_integer<bool>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<char>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<char>::static_store_integer<bool>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<char>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::wostream>;
|
||||
template void format_argument<std::wostream>::static_output<char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<signed char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<unsigned char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<wchar_t>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<short>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<unsigned short>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<int>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<unsigned int>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<unsigned long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<long long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<unsigned long long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<wchar_t *>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<wchar_t const *>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<std::wstring>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostream>::static_output<std::wstring_view>(std::wostream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::wostream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<std::wostream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<std::wostream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
template class format_argument<wchar_t>;
|
||||
template void format_argument<wchar_t>::static_output<bool>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<signed char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<unsigned char>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<wchar_t>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<short>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<unsigned short>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<int>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<unsigned int>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<unsigned long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<long long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<unsigned long long>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<wchar_t *>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<wchar_t const *>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<std::wstring>(std::wostream &, format_flags const &, void const *);
|
||||
template void format_argument<wchar_t>::static_output<std::wstring_view>(std::wostream &, format_flags const &, void const *);
|
||||
template bool format_argument<wchar_t>::static_make_integer<bool>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<wchar_t>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<wchar_t>::static_store_integer<bool>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<wchar_t>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::iostream>;
|
||||
template void format_argument<std::iostream>::static_output<char>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<signed char>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<unsigned char>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<short>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<unsigned short>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<int>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<unsigned int>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<long>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<unsigned long>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<long long>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<unsigned long long>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<char *>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<char const *>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<std::string>(std::iostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::iostream>::static_output<std::string_view>(std::iostream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::iostream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<std::iostream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<std::iostream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<std::iostream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
template class format_argument_pack<char>;
|
||||
template class format_argument_pack<wchar_t>;
|
||||
|
||||
template class format_argument<std::wiostream>;
|
||||
template void format_argument<std::wiostream>::static_output<char>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<signed char>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<unsigned char>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<wchar_t>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<short>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<unsigned short>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<int>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<unsigned int>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<long>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<unsigned long>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<long long>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<unsigned long long>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<wchar_t *>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<wchar_t const *>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<std::wstring>(std::wiostream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wiostream>::static_output<std::wstring_view>(std::wiostream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<std::wiostream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<std::wiostream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<std::wiostream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::ostringstream>;
|
||||
template void format_argument<std::ostringstream>::static_output<char>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<signed char>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<unsigned char>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<short>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<unsigned short>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<int>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<unsigned int>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<long>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<unsigned long>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<long long>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<unsigned long long>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<char *>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<char const *>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<std::string>(std::ostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::ostringstream>::static_output<std::string_view>(std::ostringstream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<std::ostringstream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<std::ostringstream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::wostringstream>;
|
||||
template void format_argument<std::wostringstream>::static_output<char>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<signed char>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<unsigned char>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<wchar_t>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<short>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<unsigned short>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<int>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<unsigned int>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<long>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<unsigned long>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<long long>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<unsigned long long>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<wchar_t *>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<wchar_t const *>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<std::wstring>(std::wostringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wostringstream>::static_output<std::wstring_view>(std::wostringstream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<std::wostringstream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<std::wostringstream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::stringstream>;
|
||||
template void format_argument<std::stringstream>::static_output<char>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<signed char>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<unsigned char>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<short>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<unsigned short>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<int>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<unsigned int>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<long>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<unsigned long>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<long long>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<unsigned long long>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<char *>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<char const *>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<std::string>(std::stringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::stringstream>::static_output<std::string_view>(std::stringstream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<std::stringstream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<std::stringstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<std::stringstream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<std::wstringstream>;
|
||||
template void format_argument<std::wstringstream>::static_output<char>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<signed char>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<unsigned char>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<wchar_t>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<short>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<unsigned short>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<int>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<unsigned int>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<long>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<unsigned long>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<long long>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<unsigned long long>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<wchar_t *>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<wchar_t const *>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<std::wstring>(std::wstringstream &, format_flags const &, void const *);
|
||||
template void format_argument<std::wstringstream>::static_output<std::wstring_view>(std::wstringstream &, format_flags const &, void const *);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<std::wstringstream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<std::wstringstream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<ovectorstream>;
|
||||
template void format_argument<ovectorstream>::static_output<char>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<signed char>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<unsigned char>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<short>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<unsigned short>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<int>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<unsigned int>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<long>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<unsigned long>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<long long>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<unsigned long long>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<char *>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<char const *>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<std::string>(ovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<ovectorstream>::static_output<std::string_view>(ovectorstream &, format_flags const &, void const *);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<ovectorstream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<ovectorstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<ovectorstream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<wovectorstream>;
|
||||
template void format_argument<wovectorstream>::static_output<char>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<signed char>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<unsigned char>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<wchar_t>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<short>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<unsigned short>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<int>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<unsigned int>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<long>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<unsigned long>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<long long>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<unsigned long long>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<wchar_t *>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<wchar_t const *>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<std::wstring>(wovectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wovectorstream>::static_output<std::wstring_view>(wovectorstream &, format_flags const &, void const *);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<wovectorstream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<wovectorstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<wovectorstream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<vectorstream>;
|
||||
template void format_argument<vectorstream>::static_output<char>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<signed char>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<unsigned char>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<short>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<unsigned short>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<int>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<unsigned int>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<long>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<unsigned long>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<long long>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<unsigned long long>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<char *>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<char const *>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<std::string>(vectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<vectorstream>::static_output<std::string_view>(vectorstream &, format_flags const &, void const *);
|
||||
template bool format_argument<vectorstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<char *>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<char const *>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<std::string>(void const *, int &);
|
||||
template bool format_argument<vectorstream>::static_make_integer<std::string_view>(void const *, int &);
|
||||
template void format_argument<vectorstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<char *>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<char const *>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<std::string>(void const *, std::streamoff);
|
||||
template void format_argument<vectorstream>::static_store_integer<std::string_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument<wvectorstream>;
|
||||
template void format_argument<wvectorstream>::static_output<char>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<signed char>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<unsigned char>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<wchar_t>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<short>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<unsigned short>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<int>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<unsigned int>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<long>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<unsigned long>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<long long>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<unsigned long long>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<wchar_t *>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<wchar_t const *>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<std::wstring>(wvectorstream &, format_flags const &, void const *);
|
||||
template void format_argument<wvectorstream>::static_output<std::wstring_view>(wvectorstream &, format_flags const &, void const *);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<char>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<signed char>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<unsigned char>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<wchar_t>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<short>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<unsigned short>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<int>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<unsigned int>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<long>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<unsigned long>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<long long>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<unsigned long long>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<wchar_t *>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<wchar_t const *>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<std::wstring>(void const *, int &);
|
||||
template bool format_argument<wvectorstream>::static_make_integer<std::wstring_view>(void const *, int &);
|
||||
template void format_argument<wvectorstream>::static_store_integer<char>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<signed char>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<unsigned char>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<wchar_t>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<short>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<unsigned short>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<int>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<unsigned int>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<long>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<unsigned long>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<long long>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<unsigned long long>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<wchar_t *>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<wchar_t const *>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<std::wstring>(void const *, std::streamoff);
|
||||
template void format_argument<wvectorstream>::static_store_integer<std::wstring_view>(void const *, std::streamoff);
|
||||
|
||||
template class format_argument_pack<std::ostream>;
|
||||
template class format_argument_pack<std::wostream>;
|
||||
template class format_argument_pack<std::iostream>;
|
||||
template class format_argument_pack<std::wiostream>;
|
||||
template class format_argument_pack<std::ostringstream>;
|
||||
template class format_argument_pack<std::wostringstream>;
|
||||
template class format_argument_pack<std::stringstream>;
|
||||
template class format_argument_pack<std::wstringstream>;
|
||||
template class format_argument_pack<ovectorstream>;
|
||||
template class format_argument_pack<wovectorstream>;
|
||||
template class format_argument_pack<vectorstream>;
|
||||
template class format_argument_pack<wvectorstream>;
|
||||
|
||||
template std::ostream::off_type stream_format(std::ostream &, format_argument_pack<std::ostream> const &);
|
||||
template std::wostream::off_type stream_format(std::wostream &, format_argument_pack<std::wostream> const &);
|
||||
template std::iostream::off_type stream_format(std::iostream &, format_argument_pack<std::ostream> const &);
|
||||
template std::iostream::off_type stream_format(std::iostream &, format_argument_pack<std::iostream> const &);
|
||||
template std::wiostream::off_type stream_format(std::wiostream &, format_argument_pack<std::wostream> const &);
|
||||
template std::wiostream::off_type stream_format(std::wiostream &, format_argument_pack<std::wiostream> const &);
|
||||
template std::ostringstream::off_type stream_format(std::ostringstream &, format_argument_pack<std::ostream> const &);
|
||||
template std::ostringstream::off_type stream_format(std::ostringstream &, format_argument_pack<std::ostringstream> const &);
|
||||
template std::wostringstream::off_type stream_format(std::wostringstream &, format_argument_pack<std::wostream> const &);
|
||||
template std::wostringstream::off_type stream_format(std::wostringstream &, format_argument_pack<std::wostringstream> const &);
|
||||
template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack<std::ostream> const &);
|
||||
template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack<std::iostream> const &);
|
||||
template std::stringstream::off_type stream_format(std::stringstream &, format_argument_pack<std::stringstream> const &);
|
||||
template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack<std::wostream> const &);
|
||||
template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack<std::wiostream> const &);
|
||||
template std::wstringstream::off_type stream_format(std::wstringstream &, format_argument_pack<std::wstringstream> const &);
|
||||
template ovectorstream::off_type stream_format(ovectorstream &, format_argument_pack<std::ostream> const &);
|
||||
template ovectorstream::off_type stream_format(ovectorstream &, format_argument_pack<ovectorstream> const &);
|
||||
template wovectorstream::off_type stream_format(wovectorstream &, format_argument_pack<std::wostream> const &);
|
||||
template wovectorstream::off_type stream_format(wovectorstream &, format_argument_pack<wovectorstream> const &);
|
||||
template vectorstream::off_type stream_format(vectorstream &, format_argument_pack<std::ostream> const &);
|
||||
template vectorstream::off_type stream_format(vectorstream &, format_argument_pack<std::iostream> const &);
|
||||
template vectorstream::off_type stream_format(vectorstream &, format_argument_pack<vectorstream> const &);
|
||||
template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack<std::wostream> const &);
|
||||
template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack<std::wiostream> const &);
|
||||
template wvectorstream::off_type stream_format(wvectorstream &, format_argument_pack<wvectorstream> const &);
|
||||
template std::ostream::off_type stream_format(std::ostream &, format_argument_pack<char> const &);
|
||||
template std::wostream::off_type stream_format(std::wostream &, format_argument_pack<wchar_t> const &);
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template std::string string_format(format_argument_pack<char> const &);
|
||||
template std::string string_format(format_argument_pack<char> &&);
|
||||
template std::string string_format(std::locale const &, format_argument_pack<char> const &);
|
||||
template std::string string_format(std::locale const &, format_argument_pack<char> &&);
|
||||
|
||||
template std::wstring string_format(format_argument_pack<wchar_t> const &);
|
||||
template std::wstring string_format(format_argument_pack<wchar_t> &&);
|
||||
template std::wstring string_format(std::locale const &, format_argument_pack<wchar_t> const &);
|
||||
template std::wstring string_format(std::locale const &, format_argument_pack<wchar_t> &&);
|
||||
|
||||
} // namespace util
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -554,7 +554,7 @@ constexpr uint64_t rotr_64(uint64_t val, int shift)
|
||||
-------------------------------------------------*/
|
||||
|
||||
#ifndef get_profile_ticks
|
||||
inline int64_t get_profile_ticks()
|
||||
inline int64_t get_profile_ticks() noexcept
|
||||
{
|
||||
return osd_ticks();
|
||||
}
|
||||
|
@ -365,7 +365,7 @@ void osd_common_t::update_option(const std::string &key, std::vector<std::string
|
||||
//-------------------------------------------------
|
||||
// output_callback - callback for osd_printf_...
|
||||
//-------------------------------------------------
|
||||
void osd_common_t::output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args)
|
||||
void osd_common_t::output_callback(osd_output_channel channel, const util::format_argument_pack<char> &args)
|
||||
{
|
||||
switch (channel)
|
||||
{
|
||||
|
@ -262,7 +262,7 @@ public:
|
||||
virtual osd_options &options() { return m_options; }
|
||||
|
||||
// osd_output interface ...
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args) override;
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<char> &args) override;
|
||||
bool verbose() const { return m_print_verbose; }
|
||||
virtual void set_verbose(bool print_verbose) override { m_print_verbose = print_verbose; }
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <cmath>
|
||||
|
||||
|
||||
bool state_reader::V_READER_CHECK(bool condition, const util::format_argument_pack<std::ostream> &args)
|
||||
bool state_reader::V_READER_CHECK(bool condition, const util::format_argument_pack<char> &args)
|
||||
{
|
||||
if (!condition)
|
||||
osd_printf_error("Error: %s\n", util::string_format(args));
|
||||
@ -22,7 +22,7 @@ bool state_reader::V_READER_CHECK(bool condition, const util::format_argument_pa
|
||||
return condition;
|
||||
}
|
||||
|
||||
bool state_reader::V_READER_WARN(bool condition, const util::format_argument_pack<std::ostream> &args)
|
||||
bool state_reader::V_READER_WARN(bool condition, const util::format_argument_pack<char> &args)
|
||||
{
|
||||
if (!condition)
|
||||
osd_printf_warning("Warning: %s\n", util::string_format(args));
|
||||
|
@ -60,8 +60,8 @@ protected:
|
||||
}
|
||||
|
||||
private:
|
||||
static bool V_READER_CHECK(bool condition, const util::format_argument_pack<std::ostream> &args);
|
||||
static bool V_READER_WARN(bool condition, const util::format_argument_pack<std::ostream> &args);
|
||||
static bool V_READER_CHECK(bool condition, const util::format_argument_pack<char> &args);
|
||||
static bool V_READER_WARN(bool condition, const util::format_argument_pack<char> &args);
|
||||
static void get_vec_values(const Value& value_array, float* data, const unsigned int count);
|
||||
};
|
||||
|
||||
|
@ -63,7 +63,7 @@ void osd_output::pop(osd_output *delegate)
|
||||
appropriate callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
void osd_vprintf_error(util::format_argument_pack<std::ostream> const &args)
|
||||
void osd_vprintf_error(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
#if defined(SDLMAME_ANDROID)
|
||||
__android_log_write(ANDROID_LOG_ERROR, "MAME", util::string_format(args).c_str());
|
||||
@ -78,7 +78,7 @@ void osd_vprintf_error(util::format_argument_pack<std::ostream> const &args)
|
||||
appropriate callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
void osd_vprintf_warning(util::format_argument_pack<std::ostream> const &args)
|
||||
void osd_vprintf_warning(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
#if defined(SDLMAME_ANDROID)
|
||||
__android_log_write(ANDROID_LOG_WARN, "MAME", util::string_format(args).c_str());
|
||||
@ -93,7 +93,7 @@ void osd_vprintf_warning(util::format_argument_pack<std::ostream> const &args)
|
||||
appropriate callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
void osd_vprintf_info(util::format_argument_pack<std::ostream> const &args)
|
||||
void osd_vprintf_info(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
#if defined(SDLMAME_ANDROID)
|
||||
__android_log_write(ANDROID_LOG_INFO, "MAME", util::string_format(args).c_str());
|
||||
@ -108,7 +108,7 @@ void osd_vprintf_info(util::format_argument_pack<std::ostream> const &args)
|
||||
the appropriate callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
void osd_vprintf_verbose(util::format_argument_pack<std::ostream> const &args)
|
||||
void osd_vprintf_verbose(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
#if defined(SDLMAME_ANDROID)
|
||||
__android_log_write( ANDROID_LOG_VERBOSE, "MAME", util::string_format(args).c_str());
|
||||
@ -123,7 +123,7 @@ void osd_vprintf_verbose(util::format_argument_pack<std::ostream> const &args)
|
||||
appropriate callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
void osd_vprintf_debug(util::format_argument_pack<std::ostream> const &args)
|
||||
void osd_vprintf_debug(util::format_argument_pack<char> const &args)
|
||||
{
|
||||
#if defined(SDLMAME_ANDROID)
|
||||
__android_log_write(ANDROID_LOG_DEBUG, "MAME", util::string_format(args).c_str());
|
||||
@ -137,7 +137,7 @@ void osd_vprintf_debug(util::format_argument_pack<std::ostream> const &args)
|
||||
// osd_ticks
|
||||
//============================================================
|
||||
|
||||
osd_ticks_t osd_ticks()
|
||||
osd_ticks_t osd_ticks() noexcept
|
||||
{
|
||||
#ifdef _WIN32
|
||||
LARGE_INTEGER val;
|
||||
@ -153,7 +153,7 @@ osd_ticks_t osd_ticks()
|
||||
// osd_ticks_per_second
|
||||
//============================================================
|
||||
|
||||
osd_ticks_t osd_ticks_per_second()
|
||||
osd_ticks_t osd_ticks_per_second() noexcept
|
||||
{
|
||||
#ifdef _WIN32
|
||||
LARGE_INTEGER val;
|
||||
@ -168,7 +168,7 @@ osd_ticks_t osd_ticks_per_second()
|
||||
// osd_sleep
|
||||
//============================================================
|
||||
|
||||
void osd_sleep(osd_ticks_t duration)
|
||||
void osd_sleep(osd_ticks_t duration) noexcept
|
||||
{
|
||||
#ifdef _WIN32
|
||||
// sleep_for appears to oversleep on Windows with gcc 8
|
||||
|
@ -86,7 +86,7 @@ typedef uint64_t osd_ticks_t;
|
||||
accurate. It is ok if this call is not ultra-fast, since it is
|
||||
primarily used for once/frame synchronization.
|
||||
-----------------------------------------------------------------------------*/
|
||||
osd_ticks_t osd_ticks();
|
||||
osd_ticks_t osd_ticks() noexcept;
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
@ -101,7 +101,7 @@ osd_ticks_t osd_ticks();
|
||||
an osd_ticks_t value which represents the number of ticks per
|
||||
second
|
||||
-----------------------------------------------------------------------------*/
|
||||
osd_ticks_t osd_ticks_per_second();
|
||||
osd_ticks_t osd_ticks_per_second() noexcept;
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
@ -126,7 +126,7 @@ osd_ticks_t osd_ticks_per_second();
|
||||
sleep occurs for, the OSD layer should strive to sleep for less time
|
||||
than specified rather than sleeping too long.
|
||||
-----------------------------------------------------------------------------*/
|
||||
void osd_sleep(osd_ticks_t duration);
|
||||
void osd_sleep(osd_ticks_t duration) noexcept;
|
||||
|
||||
/***************************************************************************
|
||||
WORK ITEM INTERFACES
|
||||
@ -538,14 +538,14 @@ public:
|
||||
osd_output() { }
|
||||
virtual ~osd_output() { }
|
||||
|
||||
virtual void output_callback(osd_output_channel channel, util::format_argument_pack<std::ostream> const &args) = 0;
|
||||
virtual void output_callback(osd_output_channel channel, util::format_argument_pack<char> const &args) = 0;
|
||||
|
||||
static void push(osd_output *delegate);
|
||||
static void pop(osd_output *delegate);
|
||||
|
||||
protected:
|
||||
|
||||
void chain_output(osd_output_channel channel, util::format_argument_pack<std::ostream> const &args) const
|
||||
void chain_output(osd_output_channel channel, util::format_argument_pack<char> const &args) const
|
||||
{
|
||||
if (m_chain)
|
||||
m_chain->output_callback(channel, args);
|
||||
@ -555,11 +555,11 @@ private:
|
||||
osd_output *m_chain = nullptr;
|
||||
};
|
||||
|
||||
void osd_vprintf_error(util::format_argument_pack<std::ostream> const &args);
|
||||
void osd_vprintf_warning(util::format_argument_pack<std::ostream> const &args);
|
||||
void osd_vprintf_info(util::format_argument_pack<std::ostream> const &args);
|
||||
void osd_vprintf_verbose(util::format_argument_pack<std::ostream> const &args);
|
||||
void osd_vprintf_debug(util::format_argument_pack<std::ostream> const &args);
|
||||
void osd_vprintf_error(util::format_argument_pack<char> const &args);
|
||||
void osd_vprintf_warning(util::format_argument_pack<char> const &args);
|
||||
void osd_vprintf_info(util::format_argument_pack<char> const &args);
|
||||
void osd_vprintf_verbose(util::format_argument_pack<char> const &args);
|
||||
void osd_vprintf_debug(util::format_argument_pack<char> const &args);
|
||||
|
||||
/// \brief Print error message
|
||||
///
|
||||
|
@ -84,7 +84,7 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<std::ostream> &args) override
|
||||
virtual void output_callback(osd_output_channel channel, const util::format_argument_pack<char> &args) override
|
||||
{
|
||||
if (channel == OSD_OUTPUT_CHANNEL_ERROR)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user