openMSX
Classes | Namespaces | Typedefs | Functions
strCat.hh File Reference
#include "TemporaryString.hh"
#include "ranges.hh"
#include "xrange.hh"
#include "zstring_view.hh"
#include <array>
#include <climits>
#include <limits>
#include <span>
#include <sstream>
#include <string>
#include <string_view>
#include <tuple>
#include <utility>
Include dependency graph for strCat.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  strCatImpl::ConcatViaString
 
struct  strCatImpl::ConcatUnit< T >
 
struct  strCatImpl::ConcatUnit< std::string_view >
 
struct  strCatImpl::ConcatUnit< char >
 
struct  strCatImpl::ConcatUnit< bool >
 
struct  strCatImpl::FastUnsignedImpl< T >
 
struct  strCatImpl::FastUnsignedImpl< long >
 
struct  strCatImpl::FastUnsignedImpl< unsigned long >
 
struct  strCatImpl::FastUnsignedImpl< long long >
 
struct  strCatImpl::FastUnsignedImpl< unsigned long long >
 
struct  strCatImpl::ConcatIntegral< T >
 
struct  strCatImpl::ConcatFixedWidthHexIntegral< N, T >
 
struct  strCatImpl::ConcatFixedWidthBinIntegral< N, T >
 
struct  strCatImpl::ConcatSpaces
 
struct  strCatImpl::ConcatFixedWidthDecIntegral< N, T >
 

Namespaces

namespace  strCatImpl
 

Typedefs

template<typename T >
using strCatImpl::FastUnsigned = typename FastUnsignedImpl< T >::type
 

Functions

template<typename... Ts>
std::string strCat (Ts &&...ts)
 
template<typename... Ts>
TemporaryString tmpStrCat (Ts &&... ts)
 
template<typename... Ts>
void strAppend (std::string &result, Ts &&...ts)
 
template<std::unsigned_integral T>
FastUnsigned< T > strCatImpl::absHelper (T t)
 
template<typename T >
auto strCatImpl::makeConcatUnit (const T &t)
 
auto strCatImpl::makeConcatUnit (const std::string &s)
 
auto strCatImpl::makeConcatUnit (const char *s)
 
auto strCatImpl::makeConcatUnit (char *s)
 
auto strCatImpl::makeConcatUnit (const TemporaryString &s)
 
auto strCatImpl::makeConcatUnit (zstring_view s)
 
auto strCatImpl::makeConcatUnit (signed char c)
 
auto strCatImpl::makeConcatUnit (unsigned char c)
 
auto strCatImpl::makeConcatUnit (short s)
 
auto strCatImpl::makeConcatUnit (unsigned short s)
 
auto strCatImpl::makeConcatUnit (int i)
 
auto strCatImpl::makeConcatUnit (unsigned u)
 
auto strCatImpl::makeConcatUnit (long l)
 
auto strCatImpl::makeConcatUnit (unsigned long l)
 
auto strCatImpl::makeConcatUnit (long long l)
 
auto strCatImpl::makeConcatUnit (unsigned long long l)
 
template<size_t N, std::integral T>
auto strCatImpl::makeConcatUnit (const ConcatFixedWidthHexIntegral< N, T > &t)
 
template<size_t N, std::integral T>
auto strCatImpl::makeConcatUnit (const ConcatFixedWidthBinIntegral< N, T > &t)
 
template<size_t N, std::integral T>
auto strCatImpl::makeConcatUnit (const ConcatFixedWidthDecIntegral< N, T > &t)
 
auto strCatImpl::makeConcatUnit (const ConcatSpaces &t)
 
template<typename Tuple , size_t... Is>
size_t strCatImpl::calcTotalSizeHelper (const Tuple &t, std::index_sequence< Is... >)
 
template<typename... Ts>
size_t strCatImpl::calcTotalSize (const std::tuple< Ts... > &t)
 
template<typename Tuple , size_t... Is>
void strCatImpl::copyUnitsHelper (char *dst, const Tuple &t, std::index_sequence< Is... >)
 
template<typename... Ts>
void strCatImpl::copyUnits (char *dst, const std::tuple< Ts... > &t)
 
std::string strCatImpl::to_string (std::integral auto x)
 
template<typename... Ts>
std::string strCat (std::string &&first, Ts &&...ts)
 
std::string strCat ()
 
std::string strCat (const std::string &x)
 
std::string strCat (std::string &&x)
 
std::string strCat (const char *x)
 
std::string strCat (char x)
 
std::string strCat (std::string_view x)
 
std::string strCat (signed char x)
 
std::string strCat (unsigned char x)
 
std::string strCat (short x)
 
std::string strCat (unsigned short x)
 
std::string strCat (int x)
 
std::string strCat (unsigned x)
 
std::string strCat (long x)
 
std::string strCat (unsigned long x)
 
std::string strCat (long long x)
 
std::string strCat (unsigned long long x)
 
std::string strCat (const std::string &x, const std::string &y)
 
std::string strCat (const char *x, const std::string &y)
 
std::string strCat (char x, const std::string &y)
 
std::string strCat (const std::string &x, const char *y)
 
std::string strCat (const std::string &x, char y)
 
std::string strCat (std::string &&x, const std::string &y)
 
std::string strCat (const std::string &x, std::string &&y)
 
std::string strCat (std::string &&x, std::string &&y)
 
std::string strCat (const char *x, std::string &&y)
 
std::string strCat (char x, std::string &&y)
 
std::string strCat (std::string &&x, const char *y)
 
std::string strCat (std::string &&x, char y)
 
void strAppend (std::string &)
 
void strAppend (std::string &x, const std::string &y)
 
void strAppend (std::string &x, const char *y)
 
void strAppend (std::string &x, std::string_view y)
 
template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthHexIntegral< N, T > hex_string (T t)
 
template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthBinIntegral< N, T > bin_string (T t)
 
template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthDecIntegral< N, T > dec_string (T t)
 
strCatImpl::ConcatSpaces spaces (size_t n)
 

Function Documentation

◆ bin_string()

template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthBinIntegral< N, T > bin_string ( t)
inline

Definition at line 735 of file strCat.hh.

References t.

◆ dec_string()

template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthDecIntegral< N, T > dec_string ( t)
inline

Definition at line 741 of file strCat.hh.

References t.

◆ hex_string()

template<size_t N, std::integral T>
strCatImpl::ConcatFixedWidthHexIntegral< N, T > hex_string ( t)
inline

Definition at line 729 of file strCat.hh.

References t.

◆ spaces()

strCatImpl::ConcatSpaces spaces ( size_t  n)
inline

Definition at line 746 of file strCat.hh.

◆ strAppend() [1/5]

void strAppend ( std::string &  )
inline

Definition at line 717 of file strCat.hh.

◆ strAppend() [2/5]

template<typename... Ts>
void strAppend ( std::string &  result,
Ts &&...  ts 
)

◆ strAppend() [3/5]

void strAppend ( std::string &  x,
const char *  y 
)
inline

Definition at line 724 of file strCat.hh.

◆ strAppend() [4/5]

void strAppend ( std::string &  x,
const std::string &  y 
)
inline

Definition at line 723 of file strCat.hh.

◆ strAppend() [5/5]

void strAppend ( std::string &  x,
std::string_view  y 
)
inline

Definition at line 725 of file strCat.hh.

◆ strCat() [1/30]

std::string strCat ( )
inline

Definition at line 654 of file strCat.hh.

◆ strCat() [2/30]

std::string strCat ( char  x)
inline

Definition at line 666 of file strCat.hh.

◆ strCat() [3/30]

std::string strCat ( char  x,
const std::string &  y 
)
inline

Definition at line 682 of file strCat.hh.

◆ strCat() [4/30]

std::string strCat ( char  x,
std::string &&  y 
)
inline

Definition at line 689 of file strCat.hh.

◆ strCat() [5/30]

std::string strCat ( const char *  x)
inline

Definition at line 665 of file strCat.hh.

◆ strCat() [6/30]

std::string strCat ( const char *  x,
const std::string &  y 
)
inline

Definition at line 681 of file strCat.hh.

◆ strCat() [7/30]

std::string strCat ( const char *  x,
std::string &&  y 
)
inline

Definition at line 688 of file strCat.hh.

◆ strCat() [8/30]

std::string strCat ( const std::string &  x)
inline

Definition at line 663 of file strCat.hh.

◆ strCat() [9/30]

std::string strCat ( const std::string &  x,
char  y 
)
inline

Definition at line 684 of file strCat.hh.

◆ strCat() [10/30]

std::string strCat ( const std::string &  x,
const char *  y 
)
inline

Definition at line 683 of file strCat.hh.

◆ strCat() [11/30]

std::string strCat ( const std::string &  x,
const std::string &  y 
)
inline

Definition at line 680 of file strCat.hh.

◆ strCat() [12/30]

std::string strCat ( const std::string &  x,
std::string &&  y 
)
inline

Definition at line 686 of file strCat.hh.

◆ strCat() [13/30]

std::string strCat ( int  x)
inline

Definition at line 673 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [14/30]

std::string strCat ( long long  x)
inline

Definition at line 677 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [15/30]

std::string strCat ( long  x)
inline

Definition at line 675 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [16/30]

std::string strCat ( short  x)
inline

Definition at line 671 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [17/30]

std::string strCat ( signed char  x)
inline

Definition at line 669 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [18/30]

template<typename... Ts>
std::string strCat ( std::string &&  first,
Ts &&...  ts 
)

Definition at line 647 of file strCat.hh.

References strAppend().

◆ strCat() [19/30]

std::string strCat ( std::string &&  x)
inline

Definition at line 664 of file strCat.hh.

◆ strCat() [20/30]

std::string strCat ( std::string &&  x,
char  y 
)
inline

Definition at line 691 of file strCat.hh.

◆ strCat() [21/30]

std::string strCat ( std::string &&  x,
const char *  y 
)
inline

Definition at line 690 of file strCat.hh.

◆ strCat() [22/30]

std::string strCat ( std::string &&  x,
const std::string &  y 
)
inline

Definition at line 685 of file strCat.hh.

◆ strCat() [23/30]

std::string strCat ( std::string &&  x,
std::string &&  y 
)
inline

Definition at line 687 of file strCat.hh.

◆ strCat() [24/30]

std::string strCat ( std::string_view  x)
inline

Definition at line 667 of file strCat.hh.

◆ strCat() [25/30]

template<typename... Ts>
std::string strCat ( Ts &&...  ts)

Definition at line 625 of file strCat.hh.

References strCatImpl::calcTotalSize(), strCatImpl::copyUnits(), strCatImpl::makeConcatUnit(), utf8::unchecked::size(), and t.

Referenced by openmsx::Checkbox(), openmsx::configFileContext(), openmsx::NowindCommand::createDiskChanger(), openmsx::JoyTap::createPorts(), openmsx::dasm(), openmsx::DiskImageUtils::formatAttrib(), openmsx::Version::full(), openmsx::JoyMega::getDefaultConfig(), openmsx::MSXJoystick::getDefaultConfig(), openmsx::DiskManipulator::getDriveNamesForCurrentMachine(), openmsx::FileOperations::getNextNumberedFileName(), openmsx::CartridgeSlotManager::getPsSsString(), openmsx::MSXMotherBoard::getUserName(), openmsx::FileOperations::getUserOpenMSXDir(), openmsx::DiskCommand::help(), openmsx::CDXCommand::help(), openmsx::LSXCommand::help(), openmsx::ConfigInfo::help(), openmsx::FileOperations::join(), openmsx::ImGuiCheatFinder::paint(), openmsx::ImGuiDebugger::paint(), openmsx::ImGuiSpriteViewer::paint(), openmsx::ImGuiManager::paintImGui(), openmsx::HardwareConfig::parseSlots(), openmsx::parseTclArgs(), openmsx::DiskManipulator::registerDrive(), openmsx::ImGuiDebugger::showMenu(), openmsx::ImGuiHelp::showMenu(), openmsx::ImGuiMedia::showMenu(), openmsx::ImGuiReverseBar::showMenu(), openmsx::ImGuiSettings::showMenu(), openmsx::ImGuiMedia::slotAndNameForHardwareConfig(), openmsx::GlobalCommandController::tabCompletion(), openmsx::ParsedSlotCond::toDisplayString(), openmsx::toString(), openmsx::ParsedSlotCond::toTclExpression(), openmsx::userDataFileContext(), and openmsx::userFileContext().

◆ strCat() [26/30]

std::string strCat ( unsigned char  x)
inline

Definition at line 670 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [27/30]

std::string strCat ( unsigned long long  x)
inline

Definition at line 678 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [28/30]

std::string strCat ( unsigned long  x)
inline

Definition at line 676 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [29/30]

std::string strCat ( unsigned short  x)
inline

Definition at line 672 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [30/30]

std::string strCat ( unsigned  x)
inline

Definition at line 674 of file strCat.hh.

References strCatImpl::to_string().

◆ tmpStrCat()

template<typename... Ts>
TemporaryString tmpStrCat ( Ts &&...  ts)

Definition at line 693 of file strCat.hh.

References strCatImpl::calcTotalSize(), strCatImpl::copyUnits(), strCatImpl::makeConcatUnit(), utf8::unchecked::size(), and t.

Referenced by openmsx::XmlOutputArchive::attributeImpl(), openmsx::comboHexSequence(), openmsx::Interpreter::createNamespace(), openmsx::HardwareConfig::createRomConfig(), openmsx::Interpreter::deleteNamespace(), openmsx::DiskChanger::DiskChanger(), openmsx::ImGuiMedia::displayNameForDriveContent(), openmsx::DiskCommand::execute(), openmsx::HDCommand::execute(), openmsx::CDXCommand::execute(), openmsx::LSXCommand::execute(), openmsx::SettingsManager::findSetting(), openmsx::JoyMega::getDefaultConfig(), openmsx::MSXJoystick::getDefaultConfig(), openmsx::DiskManipulator::getDrive(), openmsx::FilePoolCore::getFile(), openmsx::AfterCmd::getIdStr(), openmsx::IDEHD::IDEHD(), openmsx::MSXCPUInterface::insertBreakPoint(), TclParser::isProc(), openmsx::TclCallbackMessages::log(), openmsx::MsxChar2Unicode::MsxChar2Unicode(), openmsx::ParsedSlotCond::ParsedSlotCond(), openmsx::DiskImageCLI::parseFileType(), openmsx::CliComm::printError(), openmsx::ImGuiManager::printError(), openmsx::CliComm::printInfo(), openmsx::CliComm::printWarning(), openmsx::MSXMixer::registerSound(), openmsx::MSXCPUInterface::removeBreakPoint(), openmsx::MSXCPUInterface::removeCondition(), openmsx::Debugger::removeProbeBreakPoint(), openmsx::MSXCPUInterface::removeWatchPoint(), openmsx::ImGuiMedia::save(), openmsx::XmlOutputArchive::saveImpl(), openmsx::MSXCPUInterface::setCondition(), openmsx::BaseSetting::setPrefix(), openmsx::MSXCPUInterface::setWatchPoint(), openmsx::ImGuiConnector::showMenu(), openmsx::ImGuiSettings::showMenu(), ImGui::StrCat(), openmsx::toTclList(), and openmsx::UnicodeKeymap::UnicodeKeymap().