#include <string.h>
#include <wchar.h>
#include <cstdio>
#include <iomanip>
#include <limits>
#include <memory>
#include <sstream>
#include <string>
#include <type_traits>
#include "absl/base/port.h"
#include "absl/meta/type_traits.h"
#include "absl/numeric/int128.h"
#include "absl/strings/internal/str_format/extension.h"
#include "absl/strings/string_view.h"
Go to the source code of this file.
Classes | |
union | absl::str_format_internal::FormatArgImpl::Data |
struct | absl::str_format_internal::FormatArgImpl::DecayType< T, typename > |
struct | absl::str_format_internal::FormatArgImpl::DecayType< T, typename std::enable_if< !str_format_internal::HasUserDefinedConvert< T >::value &&std::is_enum< T >::value >::type > |
class | absl::str_format_internal::FormatArgImpl |
struct | absl::str_format_internal::FormatArgImplFriend |
struct | absl::str_format_internal::FormatCountCaptureHelper |
struct | absl::str_format_internal::HasUserDefinedConvert< T, typename > |
struct | absl::str_format_internal::HasUserDefinedConvert< T, void_t< decltype(AbslFormatConvert(std::declval< const T & >(), std::declval< ConversionSpec >(), std::declval< FormatSink * >()))> > |
struct | absl::str_format_internal::FormatArgImpl::Manager< T, ByPointer > |
struct | absl::str_format_internal::FormatArgImpl::Manager< T, ByValue > |
struct | absl::str_format_internal::FormatArgImpl::Manager< T, ByVolatilePointer > |
struct | absl::str_format_internal::FormatArgImpl::storage_policy< T > |
struct | absl::str_format_internal::FormatArgImpl::store_by_value< T > |
struct | absl::str_format_internal::VoidPtr |
Namespaces | |
namespace | absl |
namespace | absl::str_format_internal |
Defines | |
#define | ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(T, E) E template bool FormatArgImpl::Dispatch<T>(Data, ConversionSpec, void*) |
#define | ABSL_INTERNAL_FORMAT_DISPATCH_OVERLOADS_EXPAND_(...) |
Functions | |
absl::str_format_internal::ABSL_INTERNAL_FORMAT_DISPATCH_OVERLOADS_EXPAND_ (extern) | |
template<class AbslCord , typename std::enable_if< std::is_same< AbslCord,::Cord >::value >::type * = nullptr, class AbslCordReader = ::CordReader> | |
ConvertResult< Conv::s > | absl::str_format_internal::FormatConvertImpl (const AbslCord &value, ConversionSpec conv, FormatSinkImpl *sink) |
template<typename T , enable_if_t< std::is_same< T, bool >::value, int > = 0> | |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (T v, ConversionSpec conv, FormatSinkImpl *sink) |
template<typename T > | |
std::enable_if< std::is_enum < T >::value &&!HasUserDefinedConvert< T > ::value, IntegralConvertResult > ::type | absl::str_format_internal::FormatConvertImpl (T v, ConversionSpec conv, FormatSinkImpl *sink) |
template<typename T > | |
ConvertResult< Conv::s > | absl::str_format_internal::FormatConvertImpl (const StreamedWrapper< T > &v, ConversionSpec conv, FormatSinkImpl *out) |
template<class T = int> | |
ConvertResult< Conv::n > | absl::str_format_internal::FormatConvertImpl (const FormatCountCapture &v, ConversionSpec conv, FormatSinkImpl *sink) |
ConvertResult< Conv::s > | absl::str_format_internal::FormatConvertImpl (const std::string &v, const ConversionSpec conv, FormatSinkImpl *sink) |
ConvertResult< Conv::s > | absl::str_format_internal::FormatConvertImpl (string_view v, const ConversionSpec conv, FormatSinkImpl *sink) |
ConvertResult< Conv::s|Conv::p > | absl::str_format_internal::FormatConvertImpl (const char *v, const ConversionSpec conv, FormatSinkImpl *sink) |
ConvertResult< Conv::p > | absl::str_format_internal::FormatConvertImpl (VoidPtr v, const ConversionSpec conv, FormatSinkImpl *sink) |
FloatingConvertResult | absl::str_format_internal::FormatConvertImpl (float v, const ConversionSpec conv, FormatSinkImpl *sink) |
FloatingConvertResult | absl::str_format_internal::FormatConvertImpl (double v, const ConversionSpec conv, FormatSinkImpl *sink) |
FloatingConvertResult | absl::str_format_internal::FormatConvertImpl (long double v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (char v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (signed char v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (unsigned char v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (short v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (unsigned short v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (int v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (unsigned v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (long v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (unsigned long v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (long long v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (unsigned long long v, const ConversionSpec conv, FormatSinkImpl *sink) |
IntegralConvertResult | absl::str_format_internal::FormatConvertImpl (absl::uint128 v, const ConversionSpec conv, FormatSinkImpl *sink) |
#define ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_ | ( | T, | |
E | |||
) | E template bool FormatArgImpl::Dispatch<T>(Data, ConversionSpec, void*) |
#define ABSL_INTERNAL_FORMAT_DISPATCH_OVERLOADS_EXPAND_ | ( | ... | ) |
ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(str_format_internal::VoidPtr, \ __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(bool, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(char, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(signed char, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(unsigned char, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(short, __VA_ARGS__); /* NOLINT */ \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(unsigned short, /* NOLINT */ \ __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(int, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(unsigned int, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(long, __VA_ARGS__); /* NOLINT */ \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(unsigned long, /* NOLINT */ \ __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(long long, /* NOLINT */ \ __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(unsigned long long, /* NOLINT */ \ __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(uint128, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(float, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(double, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(long double, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(const char*, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(std::string, __VA_ARGS__); \ ABSL_INTERNAL_FORMAT_DISPATCH_INSTANTIATE_(string_view, __VA_ARGS__)