openMSX
Classes | Namespaces | Typedefs | Enumerations | 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  Digits
 
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::ConcatVariableWidthHexIntegral< Case, T >
 
struct  strCatImpl::ConcatFixedWidthHexIntegral< N, Case, 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
 

Enumerations

enum class  HexCase { lower , upper }
 

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<HexCase Case, std::integral T>
auto strCatImpl::makeConcatUnit (const ConcatVariableWidthHexIntegral< Case, T > &t)
 
template<size_t N, HexCase Case, std::integral T>
auto strCatImpl::makeConcatUnit (const ConcatFixedWidthHexIntegral< N, Case, 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<HexCase Case = HexCase::lower, std::integral T>
strCatImpl::ConcatVariableWidthHexIntegral< Case, T > hex_string (Digits n, T t)
 
template<size_t N, HexCase Case = HexCase::lower, std::integral T>
auto hex_string (T t)
 
template<size_t N, std::integral T>
auto bin_string (T t)
 
template<size_t N, std::integral T>
auto dec_string (T t)
 
auto spaces (size_t n)
 

Enumeration Type Documentation

◆ HexCase

enum class HexCase
strong
Enumerator
lower 
upper 

Definition at line 99 of file strCat.hh.

Function Documentation

◆ bin_string()

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

Definition at line 790 of file strCat.hh.

References t.

◆ dec_string()

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

Definition at line 796 of file strCat.hh.

References t.

◆ hex_string() [1/2]

template<HexCase Case = HexCase::lower, std::integral T>
strCatImpl::ConcatVariableWidthHexIntegral< Case, T > hex_string ( Digits  n,
t 
)
inline

Definition at line 778 of file strCat.hh.

References t.

Referenced by TEST_CASE().

◆ hex_string() [2/2]

template<size_t N, HexCase Case = HexCase::lower, std::integral T>
auto hex_string ( t)
inline

Definition at line 784 of file strCat.hh.

References t.

◆ spaces()

auto spaces ( size_t  n)
inline

◆ strAppend() [1/5]

void strAppend ( std::string &  )
inline

Definition at line 766 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 773 of file strCat.hh.

◆ strAppend() [4/5]

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

Definition at line 772 of file strCat.hh.

◆ strAppend() [5/5]

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

Definition at line 774 of file strCat.hh.

◆ strCat() [1/30]

std::string strCat ( )
inline

Definition at line 703 of file strCat.hh.

Referenced by openmsx::Checkbox(), openmsx::configFileContext(), openmsx::NowindCommand::createDiskChanger(), openmsx::JoyTap::createPorts(), openmsx::NowindCommand::execute(), openmsx::DiskImageUtils::formatAttrib(), openmsx::Version::full(), openmsx::DiskManipulator::getDriveNamesForCurrentMachine(), openmsx::BreakPointBase< Derived >::getIdStr(), openmsx::getKeyChordName(), 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::ImGuiDiskManipulator::paint(), openmsx::ImGuiManager::paintImGui(), openmsx::FileOperations::parseCommandFileArgument(), 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::JoystickId::str(), openmsx::GlobalCommandController::tabCompletion(), TEST_CASE(), TEST_CASE(), openmsx::MSXCPUInterface::testUnsetExpanded(), openmsx::ParsedSlotCond::toDisplayString(), openmsx::toString(), openmsx::ParsedSlotCond::toTclExpression(), openmsx::userDataFileContext(), and openmsx::userFileContext().

◆ strCat() [2/30]

std::string strCat ( char  x)
inline

Definition at line 715 of file strCat.hh.

◆ strCat() [3/30]

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

Definition at line 731 of file strCat.hh.

◆ strCat() [4/30]

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

Definition at line 738 of file strCat.hh.

◆ strCat() [5/30]

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

Definition at line 714 of file strCat.hh.

◆ strCat() [6/30]

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

Definition at line 730 of file strCat.hh.

◆ strCat() [7/30]

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

Definition at line 737 of file strCat.hh.

◆ strCat() [8/30]

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

Definition at line 712 of file strCat.hh.

◆ strCat() [9/30]

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

Definition at line 733 of file strCat.hh.

◆ strCat() [10/30]

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

Definition at line 732 of file strCat.hh.

◆ strCat() [11/30]

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

Definition at line 729 of file strCat.hh.

◆ strCat() [12/30]

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

Definition at line 735 of file strCat.hh.

◆ strCat() [13/30]

std::string strCat ( int  x)
inline

Definition at line 722 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [14/30]

std::string strCat ( long long  x)
inline

Definition at line 726 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [15/30]

std::string strCat ( long  x)
inline

Definition at line 724 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [16/30]

std::string strCat ( short  x)
inline

Definition at line 720 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [17/30]

std::string strCat ( signed char  x)
inline

Definition at line 718 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 696 of file strCat.hh.

References strAppend().

◆ strCat() [19/30]

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

Definition at line 713 of file strCat.hh.

◆ strCat() [20/30]

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

Definition at line 740 of file strCat.hh.

◆ strCat() [21/30]

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

Definition at line 739 of file strCat.hh.

◆ strCat() [22/30]

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

Definition at line 734 of file strCat.hh.

◆ strCat() [23/30]

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

Definition at line 736 of file strCat.hh.

◆ strCat() [24/30]

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

Definition at line 716 of file strCat.hh.

◆ strCat() [25/30]

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

◆ strCat() [26/30]

std::string strCat ( unsigned char  x)
inline

Definition at line 719 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [27/30]

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

Definition at line 727 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [28/30]

std::string strCat ( unsigned long  x)
inline

Definition at line 725 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [29/30]

std::string strCat ( unsigned short  x)
inline

Definition at line 721 of file strCat.hh.

References strCatImpl::to_string().

◆ strCat() [30/30]

std::string strCat ( unsigned  x)
inline

Definition at line 723 of file strCat.hh.

References strCatImpl::to_string().

◆ tmpStrCat()

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

Definition at line 742 of file strCat.hh.

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

Referenced by openmsx::XmlOutputArchive::attributeImpl(), openmsx::comboHexSequence(), openmsx::Interpreter::createNamespace(), openmsx::createNew< BreakPoint >(), openmsx::HardwareConfig::createRomConfig(), openmsx::Interpreter::deleteNamespace(), openmsx::DiskChanger::DiskChanger(), openmsx::ImGuiMedia::displayNameForDriveContent(), openmsx::DiskCommand::execute(), openmsx::CassettePlayerCommand::execute(), openmsx::HDCommand::execute(), openmsx::CDXCommand::execute(), openmsx::LSXCommand::execute(), openmsx::SettingsManager::findSetting(), openmsx::SettingsManager::findSetting(), openmsx::JoyMega::getDefaultConfig(), openmsx::MSXJoystick::getDefaultConfig(), openmsx::DiskManipulator::getDrive(), openmsx::FilePoolCore::getFile(), openmsx::AfterCmd::getIdStr(), openmsx::GLScaler::GLScaler(), openmsx::IDEHD::IDEHD(), TclParser::isProc(), openmsx::KeyboardSettings::KeyboardSettings(), openmsx::LedStatus::LedStatus(), openmsx::TclCallbackMessages::log(), openmsx::MsxChar2Unicode::MsxChar2Unicode(), openmsx::ImGuiReverseBar::paint(), openmsx::ImGuiSpriteViewer::paint(), openmsx::ImGuiSymbols::paint(), openmsx::ImGuiManager::paintImGui(), openmsx::ParsedSlotCond::ParsedSlotCond(), openmsx::DiskImageCLI::parseFileType(), openmsx::CliComm::printError(), openmsx::ImGuiManager::printError(), openmsx::CliComm::printInfo(), openmsx::CliComm::printWarning(), openmsx::MSXMixer::registerSound(), openmsx::ImGuiMedia::save(), openmsx::XmlOutputArchive::saveImpl(), openmsx::BaseSetting::setPrefix(), openmsx::ImGuiConnector::showMenu(), openmsx::ImGuiSettings::showMenu(), ImGui::StrCat(), openmsx::toTclList(), and openmsx::UnicodeKeymap::UnicodeKeymap().