VLink  2.0.0
A high-performance communication middleware
vlink::format::detail Namespace Reference

Classes

struct  IsOutputIteratorImpl
 
struct  IsOutputIteratorImpl< TypeT, std::enable_if_t< std::is_assignable_v< decltype(*std::declval< TypeT & >()++), char > > >
 
struct  IsOutputIteratorImpl< char * >
 
struct  IsOutputIteratorImpl< TypeT[NumT]>
 
struct  TypeConstant
 
struct  TypeConstant< signed char >
 
struct  TypeConstant< unsigned char >
 
struct  TypeConstant< short >
 
struct  TypeConstant< unsigned short >
 
struct  TypeConstant< int >
 
struct  TypeConstant< unsigned >
 
struct  TypeConstant< long >
 
struct  TypeConstant< unsigned long >
 
struct  TypeConstant< long long >
 
struct  TypeConstant< unsigned long long >
 
struct  TypeConstant< bool >
 
struct  TypeConstant< char >
 
struct  TypeConstant< float >
 
struct  TypeConstant< double >
 
struct  TypeConstant< const char * >
 
struct  TypeConstant< char * >
 
struct  TypeConstant< std::string_view >
 
struct  TypeConstant< std::string >
 
struct  TypeConstant< char[NumT]>
 
struct  TypeConstant< const char[NumT]>
 
struct  TypeConstant< T * >
 
class  StringWriter
 
class  IteratorWriter
 
class  Value
 
class  FormatArg
 
struct  FormatArgStore
 
class  BasicFormatArgs
 
class  FormatWriter
 

Typedefs

template<typename TypeT >
using RemoveCvref = typename std::remove_cv_t< std::remove_reference_t< TypeT > >
 
using FormatArgs = BasicFormatArgs< char >
 

Enumerations

enum class  Type : uint8_t {
  kNone , kInt , kUint , kLongLong ,
  kUlongLong , kBool , kChar , kFloat ,
  kDouble , kString , kCstring , kPointer
}
 

Functions

VLINK_EXPORT size_t format_uint_to (char *buf, unsigned value) noexcept
 
VLINK_EXPORT size_t format_int_to (char *buf, int value) noexcept
 
VLINK_EXPORT size_t format_ulong_long_to (char *buf, unsigned long long value) noexcept
 
VLINK_EXPORT size_t format_long_long_to (char *buf, long long value) noexcept
 
VLINK_EXPORT size_t format_pointer_to (char *buf, const void *ptr) noexcept
 
VLINK_EXPORT size_t format_float_to (char *buf, size_t buflen, float value) noexcept
 
VLINK_EXPORT size_t format_double_to (char *buf, size_t buflen, double value) noexcept
 

Variables

template<typename TypeT >
constexpr bool kIsOutputIterator = IsOutputIteratorImpl<TypeT>::value
 

Typedef Documentation

◆ FormatArgs

◆ RemoveCvref

template<typename TypeT >
using vlink::format::detail::RemoveCvref = typedef typename std::remove_cv_t<std::remove_reference_t<TypeT> >

Enumeration Type Documentation

◆ Type

enum vlink::format::detail::Type : uint8_t
strong
Enumerator
kNone 
kInt 
kUint 
kLongLong 
kUlongLong 
kBool 
kChar 
kFloat 
kDouble 
kString 
kCstring 
kPointer 

Function Documentation

◆ format_double_to()

VLINK_EXPORT size_t vlink::format::detail::format_double_to ( char *  buf,
size_t  buflen,
double  value 
)
noexcept

◆ format_float_to()

VLINK_EXPORT size_t vlink::format::detail::format_float_to ( char *  buf,
size_t  buflen,
float  value 
)
noexcept

◆ format_int_to()

VLINK_EXPORT size_t vlink::format::detail::format_int_to ( char *  buf,
int  value 
)
noexcept

◆ format_long_long_to()

VLINK_EXPORT size_t vlink::format::detail::format_long_long_to ( char *  buf,
long long  value 
)
noexcept

◆ format_pointer_to()

VLINK_EXPORT size_t vlink::format::detail::format_pointer_to ( char *  buf,
const void *  ptr 
)
noexcept

◆ format_uint_to()

VLINK_EXPORT size_t vlink::format::detail::format_uint_to ( char *  buf,
unsigned  value 
)
noexcept

◆ format_ulong_long_to()

VLINK_EXPORT size_t vlink::format::detail::format_ulong_long_to ( char *  buf,
unsigned long long  value 
)
noexcept

Variable Documentation

◆ kIsOutputIterator

template<typename TypeT >
constexpr bool vlink::format::detail::kIsOutputIterator = IsOutputIteratorImpl<TypeT>::value
inlineconstexpr