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::ConcatSpaces
 

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)
 
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)
 
strCatImpl::ConcatSpaces spaces (size_t n)
 

Function Documentation

◆ hex_string()

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

Definition at line 646 of file strCat.hh.

References t.

◆ spaces()

strCatImpl::ConcatSpaces spaces ( size_t  n)
inline

Definition at line 651 of file strCat.hh.

◆ strAppend() [1/5]

void strAppend ( std::string &  )
inline

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

◆ strAppend() [4/5]

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

Definition at line 640 of file strCat.hh.

◆ strAppend() [5/5]

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

Definition at line 642 of file strCat.hh.

◆ strCat() [1/30]

std::string strCat ( )
inline

Definition at line 571 of file strCat.hh.

◆ strCat() [2/30]

std::string strCat ( char  x)
inline

Definition at line 583 of file strCat.hh.

◆ strCat() [3/30]

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

Definition at line 599 of file strCat.hh.

◆ strCat() [4/30]

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

Definition at line 606 of file strCat.hh.

◆ strCat() [5/30]

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

Definition at line 582 of file strCat.hh.

◆ strCat() [6/30]

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

Definition at line 598 of file strCat.hh.

◆ strCat() [7/30]

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

Definition at line 605 of file strCat.hh.

◆ strCat() [8/30]

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

Definition at line 580 of file strCat.hh.

◆ strCat() [9/30]

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

Definition at line 601 of file strCat.hh.

◆ strCat() [10/30]

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

Definition at line 600 of file strCat.hh.

◆ strCat() [11/30]

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

Definition at line 597 of file strCat.hh.

◆ strCat() [12/30]

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

Definition at line 603 of file strCat.hh.

◆ strCat() [13/30]

std::string strCat ( int  x)
inline

Definition at line 590 of file strCat.hh.

◆ strCat() [14/30]

std::string strCat ( long long  x)
inline

Definition at line 594 of file strCat.hh.

◆ strCat() [15/30]

std::string strCat ( long  x)
inline

Definition at line 592 of file strCat.hh.

◆ strCat() [16/30]

std::string strCat ( short  x)
inline

Definition at line 588 of file strCat.hh.

◆ strCat() [17/30]

std::string strCat ( signed char  x)
inline

Definition at line 586 of file strCat.hh.

◆ strCat() [18/30]

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

Definition at line 564 of file strCat.hh.

References strAppend().

◆ strCat() [19/30]

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

Definition at line 581 of file strCat.hh.

◆ strCat() [20/30]

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

Definition at line 608 of file strCat.hh.

◆ strCat() [21/30]

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

Definition at line 607 of file strCat.hh.

◆ strCat() [22/30]

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

Definition at line 602 of file strCat.hh.

◆ strCat() [23/30]

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

Definition at line 604 of file strCat.hh.

◆ strCat() [24/30]

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

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

◆ strCat() [27/30]

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

Definition at line 595 of file strCat.hh.

◆ strCat() [28/30]

std::string strCat ( unsigned long  x)
inline

Definition at line 593 of file strCat.hh.

◆ strCat() [29/30]

std::string strCat ( unsigned short  x)
inline

Definition at line 589 of file strCat.hh.

◆ strCat() [30/30]

std::string strCat ( unsigned  x)
inline

Definition at line 591 of file strCat.hh.

◆ tmpStrCat()

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