openMSX
Classes | Namespaces | Typedefs | Functions
strCat.hh File Reference
#include "TemporaryString.hh"
#include "xrange.hh"
#include "zstring_view.hh"
#include <climits>
#include <cstring>
#include <limits>
#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::AbsHelper< true >
 
struct  strCatImpl::AbsHelper< false >
 
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>
TemporaryString tmpStrCat (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 (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, 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 (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, 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 695 of file strCat.hh.

References t.

◆ spaces()

strCatImpl::ConcatSpaces spaces ( size_t  n)
inline

Definition at line 700 of file strCat.hh.

◆ strAppend() [1/5]

void strAppend ( std::string &  )
inline

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

References openmsx::x.

◆ strAppend() [4/5]

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

Definition at line 689 of file strCat.hh.

References openmsx::x.

◆ strAppend() [5/5]

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

Definition at line 691 of file strCat.hh.

References openmsx::x.

◆ strCat() [1/30]

std::string strCat ( )
inline

Definition at line 620 of file strCat.hh.

◆ strCat() [2/30]

std::string strCat ( char  x)
inline

Definition at line 632 of file strCat.hh.

References openmsx::x.

◆ strCat() [3/30]

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

Definition at line 648 of file strCat.hh.

References openmsx::x.

◆ strCat() [4/30]

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

Definition at line 655 of file strCat.hh.

References openmsx::x.

◆ strCat() [5/30]

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

Definition at line 631 of file strCat.hh.

References openmsx::x.

◆ strCat() [6/30]

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

Definition at line 647 of file strCat.hh.

References openmsx::x.

◆ strCat() [7/30]

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

Definition at line 654 of file strCat.hh.

References openmsx::x.

◆ strCat() [8/30]

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

Definition at line 629 of file strCat.hh.

References openmsx::x.

◆ strCat() [9/30]

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

Definition at line 650 of file strCat.hh.

References openmsx::x.

◆ strCat() [10/30]

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

Definition at line 649 of file strCat.hh.

References openmsx::x.

◆ strCat() [11/30]

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

Definition at line 646 of file strCat.hh.

References openmsx::x.

◆ strCat() [12/30]

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

Definition at line 652 of file strCat.hh.

References openmsx::x.

◆ strCat() [13/30]

std::string strCat ( int  x)
inline

Definition at line 639 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [14/30]

std::string strCat ( long long  x)
inline

Definition at line 643 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [15/30]

std::string strCat ( long  x)
inline

Definition at line 641 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [16/30]

std::string strCat ( short  x)
inline

Definition at line 637 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [17/30]

std::string strCat ( signed char  x)
inline

Definition at line 635 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [18/30]

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

Definition at line 613 of file strCat.hh.

References strAppend().

◆ strCat() [19/30]

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

Definition at line 630 of file strCat.hh.

References openmsx::x.

◆ strCat() [20/30]

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

Definition at line 657 of file strCat.hh.

References openmsx::x.

◆ strCat() [21/30]

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

Definition at line 656 of file strCat.hh.

References openmsx::x.

◆ strCat() [22/30]

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

Definition at line 651 of file strCat.hh.

References openmsx::x.

◆ strCat() [23/30]

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

Definition at line 653 of file strCat.hh.

References openmsx::x.

◆ strCat() [24/30]

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

Definition at line 633 of file strCat.hh.

References openmsx::x.

◆ strCat() [25/30]

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

◆ strCat() [26/30]

std::string strCat ( unsigned char  x)
inline

Definition at line 636 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [27/30]

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

Definition at line 644 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [28/30]

std::string strCat ( unsigned long  x)
inline

Definition at line 642 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [29/30]

std::string strCat ( unsigned short  x)
inline

Definition at line 638 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ strCat() [30/30]

std::string strCat ( unsigned  x)
inline

Definition at line 640 of file strCat.hh.

References strCatImpl::to_string(), and openmsx::x.

◆ tmpStrCat()

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