openMSX
Classes | Namespaces | Typedefs | Functions
strCat.hh File Reference
#include "string_view.hh"
#include <climits>
#include <cstring>
#include <limits>
#include <sstream>
#include <string>
#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::ConcatUnit< T >
 
struct  strCatImpl::ConcatViaString
 
struct  strCatImpl::ConcatUnit< T >
 
struct  strCatImpl::ConcatUnit< 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::AbsHelper< IS_SIGNED >
 
struct  strCatImpl::AbsHelper< true >
 
struct  strCatImpl::AbsHelper< false >
 
struct  strCatImpl::PutSignHelper< IS_SIGNED >
 
struct  strCatImpl::PutSignHelper< true >
 
struct  strCatImpl::PutSignHelper< false >
 
struct  strCatImpl::ConcatIntegral< T >
 
struct  strCatImpl::ConcatFixedWidthHexIntegral< N, T >
 
struct  strCatImpl::ConcatSpaces
 

Namespaces

 strCatImpl
 

Typedefs

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

Functions

template<typename... Ts>
std::string strCat (Ts &&...ts)
 
template<typename... Ts>
void strAppend (std::string &result, Ts &&...ts)
 
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 (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, typename T >
auto strCatImpl::makeConcatUnit (const ConcatFixedWidthHexIntegral< 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)
 
template<typename T >
std::string strCatImpl::to_string (T 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 (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, string_view y)
 
template<size_t N, typename T >
strCatImpl::ConcatFixedWidthHexIntegral< N, T > hex_string (T t)
 
strCatImpl::ConcatSpaces spaces (size_t n)
 

Function Documentation

◆ hex_string()

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

Definition at line 674 of file strCat.hh.

◆ spaces()

strCatImpl::ConcatSpaces spaces ( size_t  n)
inline

Definition at line 679 of file strCat.hh.

Referenced by openmsx::Completer::Completer(), and openmsx::XMLElement::dump().

◆ strAppend() [1/5]

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

◆ strAppend() [2/5]

void strAppend ( std::string &  )
inline

Definition at line 662 of file strCat.hh.

◆ strAppend() [3/5]

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

Definition at line 668 of file strCat.hh.

◆ strAppend() [4/5]

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

Definition at line 669 of file strCat.hh.

◆ strAppend() [5/5]

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

Definition at line 670 of file strCat.hh.

◆ strCat() [1/30]

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

Definition at line 577 of file strCat.hh.

References strCatImpl::calcTotalSize(), strCatImpl::copyUnits(), strCatImpl::makeConcatUnit(), and strCatImpl::ConcatViaString::size().

Referenced by openmsx::XmlOutputArchive::attributeImpl(), openmsx::HardwareConfig::createDevices(), openmsx::NowindCommand::createDiskChanger(), openmsx::Interpreter::createNamespace(), openmsx::JoyTap::createPorts(), openmsx::HardwareConfig::createRomConfig(), openmsx::dasm(), openmsx::CliConnection::end(), openmsx::TclCallback::execute(), openmsx::RestoreMachineCommand::execute(), openmsx::SettingsManager::findSetting(), openmsx::Version::full(), openmsx::CassettePlayer::generateChannels(), openmsx::FilePool::getFile(), openmsx::FileOperations::getNextNumberedFileName(), openmsx::MSXDevice::getPluggingController(), openmsx::MSXMotherBoard::getUserName(), openmsx::Display::getWindowTitle(), openmsx::GlobalSettings::GlobalSettings(), openmsx::GLScaler::GLScaler(), openmsx::CDXCommand::help(), openmsx::DiskCommand::help(), openmsx::LSXCommand::help(), openmsx::ConfigInfo::help(), openmsx::CartridgeSlotManager::isExternalSlot(), TclParser::isProc(), StringOp::join(), openmsx::FileOperations::join(), openmsx::JoystickAxisMotionEvent::JoystickAxisMotionEvent(), openmsx::JoystickHatEvent::JoystickHatEvent(), openmsx::KeyEvent::KeyEvent(), openmsx::HardwareConfig::loadConfig(), openmsx::LocalFileReference::LocalFileReference(), openmsx::MSXDevice::MSXDevice(), openmsx::StdioConnection::output(), openmsx::DiskImageCLI::parseFileType(), openmsx::HardwareConfig::parseSlots(), openmsx::CliComm::printError(), openmsx::CliComm::printInfo(), openmsx::CliComm::printProgress(), openmsx::CliComm::printWarning(), openmsx::Probe< bool >::Probe(), openmsx::MSXMixer::registerSound(), openmsx::SamplePlayer::SamplePlayer(), openmsx::XmlOutputArchive::saveImpl(), openmsx::JoyState::serialize(), openmsx::BaseSetting::setPrefix(), openmsx::GlobalCommandController::tabCompletion(), TEST_CASE(), openmsx::MSXCPUInterface::testUnsetExpanded(), openmsx::MouseButtonEvent::toStringHelper(), openmsx::JoystickEvent::toStringHelper(), openmsx::JoystickButtonEvent::toStringHelper(), openmsx::UnicodeKeymap::UnicodeKeymap(), openmsx::DiskManipulator::unregisterDrive(), openmsx::userDataFileContext(), openmsx::VLM5030::writeControl(), openmsx::CassettePlayer::~CassettePlayer(), openmsx::CliConnection::~CliConnection(), and openmsx::MSXCommandController::~MSXCommandController().

◆ strCat() [2/30]

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

Definition at line 599 of file strCat.hh.

References strAppend().

◆ strCat() [3/30]

std::string strCat ( )
inline

Definition at line 606 of file strCat.hh.

◆ strCat() [4/30]

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

Definition at line 615 of file strCat.hh.

◆ strCat() [5/30]

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

Definition at line 616 of file strCat.hh.

◆ strCat() [6/30]

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

Definition at line 617 of file strCat.hh.

◆ strCat() [7/30]

std::string strCat ( char  x)
inline

Definition at line 618 of file strCat.hh.

◆ strCat() [8/30]

std::string strCat ( string_view  x)
inline

Definition at line 619 of file strCat.hh.

◆ strCat() [9/30]

std::string strCat ( signed char  x)
inline

Definition at line 621 of file strCat.hh.

◆ strCat() [10/30]

std::string strCat ( unsigned char  x)
inline

Definition at line 622 of file strCat.hh.

◆ strCat() [11/30]

std::string strCat ( short  x)
inline

Definition at line 623 of file strCat.hh.

◆ strCat() [12/30]

std::string strCat ( unsigned short  x)
inline

Definition at line 624 of file strCat.hh.

◆ strCat() [13/30]

std::string strCat ( int  x)
inline

Definition at line 625 of file strCat.hh.

◆ strCat() [14/30]

std::string strCat ( unsigned  x)
inline

Definition at line 626 of file strCat.hh.

◆ strCat() [15/30]

std::string strCat ( long  x)
inline

Definition at line 627 of file strCat.hh.

◆ strCat() [16/30]

std::string strCat ( unsigned long  x)
inline

Definition at line 628 of file strCat.hh.

◆ strCat() [17/30]

std::string strCat ( long long  x)
inline

Definition at line 629 of file strCat.hh.

◆ strCat() [18/30]

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

Definition at line 630 of file strCat.hh.

◆ strCat() [19/30]

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

Definition at line 632 of file strCat.hh.

◆ strCat() [20/30]

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

Definition at line 633 of file strCat.hh.

◆ strCat() [21/30]

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

Definition at line 634 of file strCat.hh.

◆ strCat() [22/30]

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

Definition at line 635 of file strCat.hh.

◆ strCat() [23/30]

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

Definition at line 636 of file strCat.hh.

◆ strCat() [24/30]

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

Definition at line 637 of file strCat.hh.

◆ strCat() [25/30]

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

Definition at line 638 of file strCat.hh.

◆ strCat() [26/30]

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

Definition at line 639 of file strCat.hh.

◆ strCat() [27/30]

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

Definition at line 640 of file strCat.hh.

◆ strCat() [28/30]

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

Definition at line 641 of file strCat.hh.

◆ strCat() [29/30]

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

Definition at line 642 of file strCat.hh.

◆ strCat() [30/30]

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

Definition at line 643 of file strCat.hh.