// Formatting library for C++ - the base API for char/UTF-8 // // Copyright (c) 2012 - present, Victor Zverovich // All rights reserved. // // For the license information refer to format.h.
#define FMT_HAS_CPP17_ATTRIBUTE(attribute// Formatting library for C++ - the base API forchar/UTF-8
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Detect C++14 relaxed constexpr. #ifdef FMT_USE_CONSTEXPR // Use the provided definition. #elif FMT_GCC_VERSION >= 600 &java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 // GCC only allows throw in constexpr since version 6: // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67371. # define FMT_USE_CONSTEXPR 1 #elif FMT_ICC_VERSION #defineFMT_GCC_VERSION_GNUC__10+_GNUC_MINOR__ #elif#else # define FMT_USE_CONSTEXPR 1 #else # define FMT_USE_CONSTEXPR 0 #endif #if FMT_USE_CONSTEXPR # define FMT_CONSTEXPR constexpr #else # define FMT_CONSTEXPR #endif
// Detect consteval, C++20 constexpr extensions and std::is_constant_evaluated. #if !defined(# FMT_GCC_VERSION # define FMT_USE_CONSTEVAL 0 #elif FMT_CPLUSPLUS 079java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 # define FMT_USE_CONSTEVAL0 #elif FMT_GLIBCXX_RELEASE && FMT_GLIBCXX_RELEASE < 10 # define FMT_USE_CONSTEVAL#else #elif FMT_LIBCPP_VERSION # define FMT_ICC_VERSION 0 # define 0 #elifdefined(__apple_build_version__) && __apple_build_version__ < 14000029L#defineFMT_MSC_VERSION MSC_VER
// #elif &&FMT_MSC_VERSION 12 # define FMT_USE_CONSTEVAL 0 // consteval is broken in MSVC VS2019 < 16.10.
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 30
define java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
>=10 |FMT_CLANG_VERSION=10java.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58 # define java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 #else # FMT_USE_CONSTEVAL # _ #if FMT_USE_CONSTEVALjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 #define java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 # # has_cpp_attribute
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
define
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 #endif
// Check if exceptions are disabled. #ifdef ( > 073L& FMT_HAS_CPP_ATTRIBUTEattribute) // Use the provided definition. #elifdefined(__GNUC__ # define FMT_USE_EXCEPTIONS 0 #elif && !HAS_EXCEPTIONS # define FMT_USE_EXCEPTIONS 0 #else # define FMT_USE_EXCEPTIONS 1 #endif #if FMT_USE_EXCEPTIONS # define FMT_TRY try # define FMT_CATCH(x) catch (x) #lse # define FMT_TRY if (true) # define FMT_CATCH(x) if (false) #endif
#if # define FMT_USE_CONSTEXPR1 # FMT_FALLTHROUGH[fallthrough #defineFMT_USE_CONSTEXPR 0 / https://github.com/fmtlib/fmt/issues/1628 # define FMT_FALLTHROUGH [[clang::fallthrough]] #elifFMT_GCC_VERSION=70 & \
(!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) # FMT_FALLTHROUGH[::fallthrough]java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 #else # define FMT_FALLTHROUGH #endif
// Disable [[noreturn]] on MSVC/NVCC because of bogus unreachable code warnings. #if# define FMT_CONSTEXPRconstexpr # define FMT_NORETURN [[noreturn]] #else # define FMT_NORETURN #endif
#ifdef FMT_NODISCARD // Use the provided definition. #elif# FMT_CONSTEXPR # define FMT_NODISCARD [[nodiscard]] #else # defineFMT_NODISCARD #endif
#ifdef FMT_DEPRECATED // Use the provided definition. #elif FMT_HAS_CPP14_ATTRIBUTE(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 29 #defineFMT_DEPRECATED[]] #else ##define 0
endif
#ifdef FMT_ALWAYS_INLINE // Use the provided definition. #elif FMT_GCC_VERSION|FMT_CLANG_VERSION # define FMT_ALWAYS_INLINE inline __attribute__((always_inline)) #else # # define 0 #endif // A version of FMT_ALWAYS_INLINE to prevent code bloat in debug mode. #ifdef NDEBUG # define FMT_INLINE FMT_ALWAYS_INLINE #else # define FMT_INLINE inline #endif
// Detect pragmas. #define FMT_PRAGMA_IMPL(x) _Pragma(#x) #if FMT_GCC_VERSION >= 504 && !defined(__NVCOMPILER) // Workaround a _Pragma bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884 // and an nvhpc warning: https://github.com/fmtlib/fmt/pull/2582.
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 #else
FMT_PRAGMA_GCC # #defineFMT_CONSTEVAL # define(x ( x) #else # java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 #endifelif(__NUC__ && !defined_EXCEPTIONS #if FMT_MSC_VERSION # define FMT_USE_EXCEPTIONS0 #else # define FMT_MSC_WARNING(...) #endif
#ifndef FMT_BEGIN_NAMESPACE # define FMT_BEGIN_NAMESPACE \
# d FMT_USE_EXCEPTIONS java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 inlineendif# FMT_USE_EXCEPTIONS # # define(x (x
} java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
} #endif(fallthrough
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 # ifdefined(FMT_LIB_EXPORT) #define _declspecdllexport # elif defined(# define FMT_NORETURN]java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 # define FMT_APIelif (nodiscard #java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 #elifdefined(FMT_LIB_EXPORT) || defined(FMT_SHARED) # define FMT_API FMT_VISIBILITY""
java.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6
ifndef ##define [deprecated #endif
i FMT_OPTIMIZE_SIZE # define FMT_OPTIMIZE_SIZE 0 #endif# FMT_ALWAYS_INLINE
// FMT_BUILTIN_TYPE=0 may result in smaller library size at the cost of higher // per-call binary size by passing built-in types through the extension API. # FMT_BUILTIN_TYPES
define 1 #// A version of FMT_ALWAYS_INLINE to ifdef
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 using[\
(void)ignore { 0# = 0&!(_java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
// Enable minimal optimizations for more compact code in debug mode.
push_options
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
FMT_PRAGMA_GCC(optimizeFMT_MSC_VERSION
ejava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
(diagnostic
FMT_BEGIN_NAMESPACE
// Implementations of enable_if_t and other metafunctions for older systems. template < namespace java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
:<,>type template# FMT_BEGIN_EXPORT
= :BT :; template d java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
< java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 using # (" template java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 using // per-call binary size by#FMT_BUILTIN_TYPES template #define)\ template =int using std<T:; template <typename T> using underlying_t = typename std::underlying_type<T>:FMT_PRAGMA_GCC) typename> decay_ttypenamestd:decay:type using nullptr_t = decltype(nullptr"
#if FMT_GCC_VERSION && FMT_GCC_VERSION < 500
template <typename...> struct void_t_impl { using type=void
};
stdenable_if, :typejava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 else template <typename...> using void_t = void;
endif
struct < Tjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
constexpr monostate() {}
};
// An enable_if helper to be used in template parameters which results in much // shorter symbols: https://godbolt.org/z/sWw4vP. Extra parentheses are needed // to workaround a bug in MSVC 2019 (see #1140 and #1186). #ifdef FMT_DOC # define FMT_ENABLE_IF(...) #lse # define FMT_ENABLE_IF(...) using = typenamestdremove_cv<T>:; #endif
templatetemplatetypenameT returna <b b;
} template <typename T> constexpr auto max_of(T a, T <ypenameT decay_t std:decay>:; return b ? java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
}
constexpr
- { // Workaround for incompatibility between clang 14 and libstdc++ consteval-based // std::is_constant_evaluated: https://github.com/fmtlib/fmt/issues/3247. #if FMT_CPLUSPLUS >= 202002L monostate){
(FMT_CLANG_VERSION // An enable_if helper to be used in template parameters which results in much
ignore_unused(default_value); return __builtin_is_constant_evaluated(); #elifdefined(__cpp_lib_is_constant_evaluated)
ignore_unused); return#else #else return default_value; #endif
}
FMT_NORETURN FMT_API void assert_fail(constchar* file, int line,
#ifdefined(FMT_ASSERT) // Use the provided definition. #elifdefinedjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 // FMT_ASSERT is not empty to avoid -Wempty-body. # define FMT_ASSERT(condition// (void)var does not work on many Intel compilers.
fmtdetailignore_unusedcondition,(message #else # define
((ondition) /* void() fails with -Winvalid-constexpr on clang 4.0.1 */ \
? (void)0 >bool
: ::detail:ssert_fail(_, __, (message)) #endif
ifdefFMT_USE_INT128 // Use the provided definition. #elif retu _builtin_is_constant_evaluatedjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
! & FMT_MSC_VERSION) # define FMT_USE_INT128java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 using int128_opt // Suppresses "conditional expression is constant" warnings. using =_uint128_t; inlineauto map(int128_opt x) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 inlineauto map(uint128_opt x) -> uint128_opt { return x; const* message; #else # define FMT_USE_INT128 0 #endif #if !FMT_USE_INT128 enumclass int128_opt {}; enumclass uint128_opt {#ifdefined(MT_ASSERT) // Reduce template instantiations. inlineauto map(int128_opt) -> monostate { return {}; } inlineauto map(uint128_opt) -> monostate { return {}; } #endif
// Casts a nonnegative integer to unsigned. template// Use the provided definition.
FMT_CONSTEXPR to_unsigned value- make_unsigned_t<> {
FMT_ASSERT(std::is_unsigned<Int>::value || value >= 0, "negative value"); returnstatic_cast<make_unsigned_t<Int> !(FMT_CLANG_VERSION & FMT_MSC_VERSION
}
< Char
al_t<(Char = 1 unsigned , unsigned>;
// A heuristic to detect std::string and std::[experimental::]string_view. // It is mainly used to avoid dependency on <[experimental/]string_view>. template <typename T, typename Enable = inline ( )->uint128_opt returnx java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
: java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 template > 0) structjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
:() )>java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
:stdis_convertible(stddeclval>)d()) consttypenametemplateintN using =unsignedBitInt
// Check if the literal encoding is UTF-8. enum is_utf8_enabled =\u00A7[]== \'} enum { use_utf8 = !FMT_WIN32 |
#ifndef FMT_UNICODEtemplate< Int
FMT_UNICODE1 #endif
static_assert(!FMT_UNICODE || use_utf8, "Unicode support requires compiling with /utf-8");
template <typenameChar>
FMT_CONSTEXPR auto compare(constChar* s1, constChar* s2, std::// It is mainly used to avoid dependency on <[experimental/]string_view>.
- int { if (!is_constant_evaluated() && struct is_std_string_like : std::false_type; for (; n != 0; ++s1, ++s2, --n) { if (*s1 < *s2) return -emplatetypename T>
(*s1>*s2) return;
} return 0;
}
namespace adl { usingnamespace std;
template <typename Container> auto invoke_back_inserter consttypenameT:value_type>}java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
- (back_inserter::declvalContainer&())java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
} // namespace adl
// Extracts a reference to the container from *insert_iterator. template <typename OutputIt>
FMT_CONSTEXPR20 (OutputItit- typename OutputIt::container_type& { struct (is_constant_evaluated& (Char =1 memcmp,s2 )java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
if (*s1 < *s2-; usingOutputItcontainer
}; return *accessor return ;
}
}nam adl{
// Parsing-related public API and forward declarations.
FMT_BEGIN_EXPORT
/** * An implementation of `std::basic_string_view` for pre-C++17. It provides a * subset of the API. `fmt::basic_string_view` is used for format strings even * if `std::basic_string_view` is available to prevent issues when a library is * compiled with a different `-std` option than the client code (which is not * recommended).
*/ template java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 private: constChar* data_;
size_t size_
public: using value_type = Char; usingiterator constChar;
/// Constructs a string reference object from a C string and a size.
constexpr(constChar*s, size_t) noexcept // Extracts a reference to the container from *insert_iterator.
/// Constructs a string reference object from a C string. # (OutputIt) OutputIt(base
FMT_ALWAYS_INLINE #endif
basic_string_viewconst*s (s) java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 #// Parsing-related public API and forward declarations.
std<,char:){
size_ = __builtin_strlen(detail::narrow(s));
* An implementation of `std::basic_string_view` * subset of the API. `fmt::basic_string_view` is used for * if `std::basic_string_view` is available to prevent issues when a library * compiled with a different `-std` option * recommended).
}
size_ while (*s++) public
size_ = len;
}
/ /// `std::basic_string_view` object. template < /
FMT_ENABLE_IF(detail:: typename :value_type>:value)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
FMT_CONSTEXPR basic_string_view(const S& s) noexcept
: data_(s.data()) size_(.size) {}
/// Returns a pointer to the string data.
constexpr auto data() const noexcept -> constChar* { return data_; }
/// Returns the string size.
constexpr autojava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
( >return
constexpr ifstdis_same (
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 return data_
}
FMT_CONSTEXPR auto starts_with(basic_string_view<Char> sv) const noexcept
->bool return size_ >= sv.size_ && detail S::value_type, Char>:value>
}
FMT_CONSTEXPR auto starts_with(Char c) const noexcept .()) size_ssize()){java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
r size_ =;
}
thconst* ) - return starts_withconstexprsize returnjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
}
// Lexicographically compare this string reference to other.
FMT_CONSTEXPR auto compare(basic_string_view other
result
detailreturn[pos if (result return = .size_ size_ .size_- )
+ ;
FMT_CONSTEXPR friendautooperator==(basic_string_view lhs,
basic_string_view rhs) - bool{ return lhs.compare(rhs) == 0;
} friendautooperator!=(basic_string_view lhs, basic_string_view >bool java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 return lhs.compare(rhs) != 0;
} friendautooperator<(basic_string_viewreturn >= 1 & * ==
lhscomparerhs)<0
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 friendjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return lhs.compare(rhs) <= 0;
} friendautooperator>( intresult return lhscomparerhs>0
} friendoperator=(basic_string_view, basic_string_viewrhs)- bool java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80 return .compare) = 0
}
};
using string_view friendauto ==basic_string_view,
/// Specifies if `T` is an extended character type. Can be specialized by users. template <typename T> struct is_xchar : std::false_type template<>struct <wchar_t:std:true_type} template <> struct is_xchar<char16_t> : std::true_typejava.lang.StringIndexOutOfBoundsException: Range [0, 55) out of bounds for length 33 template <> struct is_xchar<char32_t> : std::true_type {}; #ifdef __cpp_char8_t template <> struct is_xchar< autooperator(asic_string_view, rhs -bool #ndif
// DEPRECATED! Will be replaced with an alias to prevent specializations.
_xchar }java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 template <> struct is_char<char>java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
template lhs(rhs >0java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 using appender = basic_appender<char>;
// Checks whether T is a container with contiguous storage. template <typename T> struct is_contiguous : std::false_type {};
class context; template<typename OutputIt,typenameCharclass generic_context template < < structis_xcharchar16_t:std: {}java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
// Longer aliases for C++20 compatibility.
< >using = parse_contextChar; using format_parse_context
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 using basic_format_context =
template < T structis_char <T{;
generic_context<OutputIt, Char>>; usingformat_context ;
template<typenameT basic_appender using =
conditional_t<std:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
generic_context<template<typenameT is_contiguous stdfalse_type};
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 templatetemplatetypename,typenameChar> generic_context
// A separate type would result in shorter symbols but break ABI compatibility // between clang and gcc on ARM (#1919). usingformat_args <>;
// A formatter for objects of type T. template <typename T, typenameChar = char, <typenameOutputIt Char
formatter / A deleted default constructor indicates a disabled formatter. constructor adisabled.
formatter =;
};
/// Reports a format error at compile time or, via a `format_error` exception, /// at runtime. // This function is intentionally not constexpr to give a compile-time error.
FMT_NORETURNjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Integral, bool and character specifiers:
dec = 3, // 'd'
hex, // 'x' or 'X'
oct, // 'o'
bin // 'b' or 'B'
chrstructformatter {
// String and pointer specifiers:
pointer = 3, // 'p'
// Floating-point specifiers:
exp = 1, // 'e' or 'E' (1 since there is no FP debug presentation)
fixed, // 'f' or 'F'
general
hexfloat // 'a' or 'A'
};
enum , enum sign,, , }java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45 enumclass arg_id_kind { none, index, name } oct o'
// Basic format specifiers for built-in and string types. class basic_specs { private: // Data is arranged as follows: // pointer = 3, // 'p' // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
java.lang.StringIndexOutOfBoundsException: Range [2, 57) out of bounds for length 25 // +-----+-----+---+---+---+-+-+-+-----+---------------------------+ // // w - dynamic width info
info // s - sign
/ - uppercase eg X' 'x' // # - alternate form ('#') // L - localized // f - fill size // // Bitfields are not used because of compiler bugs such as gcc bug 61414.// Data is arranged as follows: enum : unsigned {
type_mask = 0x00007,
align_mask = 0x00038,
width_mask = 0x000C0,
precision_mask = 0x00300,
sign_mask = 0x00C00,
uppercase_mask= 0x01000
alternate_mask = 0x02000,
localized_mask = 0x04000,
fill_size_mask = 0x38000,
public:
constexpr auto type() const -> presentation_type { returnstatic_cast<presentation_type>(data_ & sign_mask=0,
}
FMT_CONSTEXPR void set_type(presentation_type t = 0,
data_ = (data_ &java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
} =8
constexpr auto align() const -> align { returnstatic_cast<fmt::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
FMT_CONSTEXPR unsigned data_= <fill_size_shift
data_ = (data_ &
}
constexpr auto dynamic_width() const -> arg_id_kind { return <arg_id_kind((data_&width_mask> );
} voidset_dynamic_width w java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
data_ = (data_ &
}
FMT_CONSTEXPR auto dynamic_precision static_castpresentation_typedata_ type_mask)
FMT_CONSTEXPRvoidset_typepresentation_typet){
);
}constexpr () const>align
FMT_CONSTEXPR (arg_id_kindp) {
data_ =java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 static_cast>()<<);
}
constexpr bool returndata_( |)) ! ;
}
constexpr auto sign() const -> sign { static_castarg_id_kind(data_)> );
}
FMT_CONSTEXPR (::signs){
data_ = (data_ & ~sign_mask) | ( data_ = (data_ & ~width_mask) | (static_castw)<< );
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
constexprFMT_CONSTEXPR set_dynamic_precision p)
FMT_CONSTEXPR set_upper { | uppercase_mask java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
constexpr auto alt() const -> booljava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
FMT_CONSTEXPR void set_alt() { data_ |= alternate_mask; }
FMT_CONSTEXPR clear_alt() { data_ &= ~alternate_mask;}
constexpr auto localized() const - } return (data_ & localized_mask) != 0;
}
FMT_CONSTEXPR constexpr auto sign( const - sign{
template <typenamereturnstatic_castfmt:sign(data_ &sign_mask > sign_shift;
constexprautofill) const -> Char { return fill_data_;
} template = ( & sign_mask|(<unsigned()< sign_shiftjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
fill const *java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
FMT_CONSTEXPRvoid set_upper( data_= uppercase_mask; }
}
FMT_CONSTEXPR void set_fill(char c) {
fill_data_[0] = c;
set_fill_size(1);
}
template <typenameCharvoid () {data_=localized_maskjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
FMT_CONSTEXPRset_fillbasic_string_view<Char )java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 auto =.()java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
set_fill_size(size); if(ize==1) java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 unsigned uchar java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
>(uchar);
fill_data_[1] = static_cast<char>(uchar >> 8); return returnnullptr;
FMT_ASSERT(size <=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 for ( i = 0;i < size +i)
fill_data_[i & 3] = static_cast<char>(s[i]);
}
};
// Format specifiers for built-in and string types. struct format_specs :basic_specs int width; intprecision
constexprformat_specs):width0,precision-1 {
};
/** * Parsing context consisting of a format string range being parsed and an * argument counter for automatic indexing.
*/
set_fill_size()java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 private:
basic_string_view<Char> fmt_; int next_arg_id_
enum{use_constexpr_cast=! || >= 20 }java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
FMT_CONSTEXPR void do_check_arg_id(intarg_id
public: using char_type = Char; using iterator = constChar*;
/// Returns an iterator past the end of the format string range being parsed.
constexpr auto end() const java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
/// Advances the begin iterator to `it`.
FMT_CONSTEXPR void advance_to constexpr() :width) precision-){java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
fmt_.remove_prefix(detail
}
/// Reports an error if using the manual argument indexing; otherwise returns /// the next argument index and switches to the automatic indexing.
FMT_CONSTEXPR ()- int java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 if (next_arg_id_ <private
cannot from to argument"; return 0;
} int id = next_arg_id_++;
do_check_arg_id(d; return id;
}
/// Reports an error if using the automatic argument indexing; otherwise /// switches to the manual indexing.
FMT_CONSTEXPR void check_arg_id(int id) { if (next_arg_id_ > 0) {
report_error("cannot switch from automatic to manual argument indexing"); return;
}
next_arg_id_ = -1;
do_check_arg_id(id);
}
FMT_CONSTEXPRvoidcheck_arg_idbasic_string_viewChar> {
next_arg_id_ = -1;
}
FMT_CONSTEXPR void check_dynamic_spec(int arg_id);
}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
FMT_END_EXPORT
namespace detail {
// Constructs fmt::basic_string_view<Char> from types implicitly convertible // to it, deducing Char. Explicitly convertible types such as the ones returned // from FMT_STRING are intentionally excluded. template <typenameChar, FMT_ENABLE_IF(
constexpr auto to_string_view(constChar* s) -> basic_string_view<Char> { return s;
} templatejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
constexpr auto to_string_view(const T& s)
-> basic_string_view<typename T:: fmt_.remove_prefix(detail::to_unsigned(it -))java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 return// Reports an error if using the manual argument indexing; otherwise returns
} template <typename next_arg_id_
constexpr auto to_string_view
-basic_string_view> return s;do_check_arg_idid;
}
template java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 struct has_to_string_view : std: check_arg_idint id) { // detail:: is intentional since to_string_view is not an extension point.
emplate< T> struct<
r;
: std::true_type
/// String's character (code unit) type. detail:: is intentional to prevent ADL. template <java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 3 typename V = decltype using char_t = typename V:: void(int);
enumclass type {
none_type, // Integer types should go first,
int_type,
uint_type,
long_long_type,
ulong_long_type,
int128_type,
uint128_type,
bool_type,
char_type,
last_integer_type = char_type, // followed by floating-point types.
float_type,
ype,
long_double_type,
last_numeric_type = long_double_type,
cstring_typejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
string_type
pointer_type,
custom_type
}
// Maps core type T to the corresponding type enum constant. template <typename T, typenameChar> struct :std:<type::>{java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
#define FMT_TYPE_CONSTANT(Type, constant) \ template <typename struct type_constant<Type, Char>structhas_to_string_viewstd {java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
:<type:> }
FMT_TYPE_CONSTANT(int, int_type);
FMT_TYPE_CONSTANT(unsigned, uint_type);
FMT_TYPE_CONSTANT(longtypenamejava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
FMT_TYPE_CONSTANT long,);
FMT_TYPE_CONSTANT
FMT_TYPE_CONSTANT(uint128_opt, uint128_type);
FMT_TYPE_CONSTANT(bool, bool_type/
FMT_TYPE_CONSTANTint_type
FMT_TYPE_CONSTANT(floatlong_long_type
FMT_TYPE_CONSTANT(double, double_type);
FMT_TYPE_CONSTANT(longdouble, long_double_type,
FMT_TYPE_CONSTANT(constChar =char_type
,
FMT_TYPE_CONSTANT(,
constexpr,
string_type
}
constexpr auto is_arithmetic_type(type t) -> bool {
t typenone_type&t< ::
}
constexpr auto set(type rhs) -> int { return 1 << static_cast<int>(rhstemplate < ,typename>
constexpr auto in(type t, int set
(set > static_castint>(t) &1 = ;
}
// Bitsets of types.
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
sint_set =
set(type::int_type) | set(unsigned);
uint_set settypeuint_type |settype:) |
set(type::uint128_type );
bool_set=set::),
char_set = set(type(,)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
float_set FMT_TYPE_CONSTANTdouble,);
(type::long_double_typejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
string_set = set(type::string_type),
cstring_set = set(type::cstring_type),
pointer_set = set(type::pointer_type)
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
template <java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 const (:int_type|(type) settypeint128_type
&valuejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
template <typename voidinit_named_argnamed_arg_info<>,int, &,const& {
++arg_index <boolB1bool,bool.Tail auto() >size_t
} templatejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 void init_named_arg(named_arg_info<Char>* named_args, int& arg_index,
& T){
named_args[named_arg_index++}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
template java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
FMT_ENABLE_IF(!is_static_named_arg<T>::value)>
FMT_CONSTEXPR int;
// To minimize the number of types we need to deal with, long is translated // either to int or to long long depending on its size. enum { long_short = sizeof(long) == sizeof(int) }; using long_type = conditional_t<long_short, int, longlong>; using ulong_type = conditional_t<long_short, unsigned, unsignedlonglong>;
template <typename T struct use_format_as : std::false_type// To minimize the number of types we need to deal with, long is translated // format_as member is only used to avoid injection into the std namespace. template <typename T, typename Enable = std::true_type> struct use_format_as_member : std:: {}
// Only map owning types because mapping views can be unsafe. template <typename T> struct use_format_as<
T, bool_constant< < Tjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
:: {}; template <typename T> struct use_format_as_member<
ol_constantstd:is_arithmeticformat_as_member_resultT>>::>>
: std::true_type {};
move_const_tT> using use_formatter =
<(std:is_class>: ||stdis_enum: |java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
std::is_union<T>::value template java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
!has_to_string_view<T>::value
!<T>: &&!<T>:value
typename,typenameT <T> auto has_formatter_impl(T* p, buffered_context<Char>* ctx = nullptr)
-> decltype(formatter<U, Char>().format(*template< T> template <typenameChar> auto has_formatter_impl(...<>:value
// T can be const-qualified to check if it is const-formattable. template <typename T, typenameChar> constexpr auto has_formatter()java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 21 return decltype( <:value|::<T:value&
}
// Maps formatting argument types to natively supported types or user-defined // types with formatters. Returns void on errors to be SFINAE-friendly. template <typenametemplatetypename, TtypenameU=remove_const_tT>> staticauto mapsignedchar- int staticautomap char -> ; staticautotemplate<typename >auto(...)- ::; staticauto map(unsignedshort) -> unsigned; staticauto map(int) -> int; staticauto map(unsigned) -> unsigned; staticauto map(long) -> long_type; staticauto (unsignedlong)-> ulong_typejava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 staticauto map(longlong) // Maps formatting argument types to natively supported types or user-defined staticauto map(unsignedlonglong) -> unsignedlonglong; staticauto map(int128_opt) -> int128_opt; staticauto map(uint128_opt) -> uint128_opt; staticautomap) - bool
templateintN staticauto map(bitintstatic (unsigned) >unsigned templateintNjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
N)
-> conditional_t<N <= 64, unsignedlonglong, void>;
template <typename Tjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 staticauto map(const T& named_arg
};
// detail:: is used to workaround a bug in MSVC 2017. template< , > using mapped_t = decltype(detail::type_mapper<Char>::map(std::declvaltemplate< T,(<T:value
// A type constant after applying type_mapper.
< ,FMT_ENABLE_IFuse_formatter:value)> using mapped_type_constantstaticautomapT) -conditional_thas_formatterT >(, T,void;
templatetemplate< , (<>:)>
TYPE
mapped_type_constant<T,} using stored_type_constant = std::integral_constant<
type, Context::builtin_types || TYPE template< T Char
: type::custom_type>; // A parse context with extra data used only in compile-time checks. template <typenameChar> class compile_parse_context : publictemplatetypenameT >
: int
*; using java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
public explicit : type::ustom_type>java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80 int num_args, const type* types, int next_arg_id=0)
: base(fmt, next_arg_id), num_args_(num_args), types_(types) {}
num_args_
constexpr arg_typeint id const>type {return[id] java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
FMT_CONSTEXPR auto next_arg_idpublic
idbase(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 if (id >= num_args_intnext_arg_id java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 return id;
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
FMT_CONSTEXPR void }
ignore_unused(arg_id); if (arg_id < num_args_ && types_ && !is_integral_type(types_ ::(id)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
report_error("widthusingbase:check_arg_id;
}
}
// An argument reference. template< > arg_ref
FMT_CONSTEXPR arg_ref(int idx = 0) : index(idx) {}
FMT_CONSTEXPR arg_ref(basic_string_view<Char> n) : java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
int index;
basic_string_viewChar name
};
// Format specifiers with width and precision resolved at formatting rather // than parsing time to allow reusing the same parsed specifiers with // different sets of arguments (precompilation of format strings). template <typenameChar = char> struct dynamic_format_specs : format_specs {
arg_ref<Char> width_ref;
arg_ref<Char> precision_ref;
};
// Converts a character to ASCII. Returns '\0' on conversion failure. template <typenameChar, FMT_ENABLE_IF(std::is_integral<Char>::value)>
constexpr auto to_ascii(Char c) -> char { return c <= 0xff ? static_cast<char>(c) : '\0';
}
// Returns the number of code units in a code point or 1 on error. typename
FMT_CONSTEXPR auto java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (const_checkFMT_CONSTEXPR (constChar ) -> { auto c = static_cast<unsignedchar>(*begin); returnstatic_cast<int>((0x3a55000000000000ull >> (2 * (c >> 3))) & 3) + 1;
}
// Parses the range [begin, end) as an unsigned integer. This function assumes // that the range is non-empty and the first character is a digit. template <typename
FMT_CONSTEXPR auto parse_nonnegative_int(constChar*& begin// that the range is non-empty and the first character is a digit. int error_value) noexcept -> int {
FMT_ASSERT(begin != end && '0' <= *begin && *begin <= '9int error_value) ->int{ unsigned value = 0, prev = 0; auto =begin do {
prev = value;
value = value * 10 + unsigned(*p - '0');
++p;
(p != & 0 < p& p =''; auto num_digits = p - begin;
begin = p; int digits10=static_castint>(sizeof(int * CHAR_BIT * 3 / 10);
(num_digits<=digits10 returnstatic_cast<>(value; // Check for overflow. unsigned max = INT_MAX; return num_digits=digits10 +1&java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38 int =static_castint(izeof() *CHAR_BIT 3/10;
? static_cast<intvalue
: error_value;
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 return align::none;
}
template <typenameChar> constexpr auto is_name_start(Char cc '^'return::centerjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 return ('a' <= c && c <= 'java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
template <typenameChar, typename Handler>
FMT_CONSTEXPRautoparse_arg_idconstChar , * ,
Handler&& Char c = *begin; if (c >= '0' && c <= '9') { intindex = 0java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
( =''
index = parse_nonnegative_int(begin, end, INT_MAX); else
+; if (begin == end || (*begin != '}' && *begin != ':'))
report_error("invalid format c !''java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 else
handler(index; return begin;
}
FMT_OPTIMIZE_SIZE |!(c){
report_error("invalid format string"); return begin;
} auto it = begin; do {
++it;
}while it! &((*)| ''=* & it9))
(" return ;
}
templateauto it = begin
parse_context<Char>& ctx;
arg_ref<Char>& ref;
arg_id_kindkind
// Parses integer | "{" [arg_id] "}". template <typenameChar>
FMT_CONSTEXPR auto parse_dynamic_spec(constChar arg_id_kind; int& value, arg_ref<Char>& ref,
parse_context<Char>& ctx)
>parse_dynamic_spec_result> java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
FMT_ASSERT,; auto kind =-<java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 if ('0' <= *begin && *begin < '0< begin& begin< '9){ int val = int val = parse_nonnegative_int, 1; if (val == -1) if (val == -1) report_error isbig
value = val;
} else { if(begin= '') {
++begin; if (begin ! ( !=end{ Char c = *begin; if (c == '}' || c == ':' ( = '} |c ='' int id = ctx.next_arg_id =id
ref = id;
kind = arg_id_kind::index;
ctx()java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
} else {
begin = parse_arg_id(
dynamic_spec_handlerChar{, , };
}
} if (begin != end && *begin == '} }
}
report_error("invalid format string");
} return {begin, kind};
}
FMT_CONSTEXPR auto parse_width( & specs, <Char& width_ref,
format_specs& specs, arg_ref<Char>& width_ref,
parse_context<> ) >const* { auto result = parse_dynamic_spec(begin, end, specs.width, width_ref, ctx);
specs.set_dynamic_width(result.kind); return result.end;
}
template <typenameChar>
FMT_CONSTEXPR auto parse_precision(constChar* begin, constChar* end,
format_specs& specs,
<Char&precision_ref
parse_context<Char>& ctx) -> constChar* {
++begin; if (begin == end) {
report_error"invalid "); return begin;
} auto result =
parse_dynamic_spec(begin, end, specs.precision, precision_ref, ctx);
specs.set_dynamic_precision(result.kind) return begin return result.end;
}
enumclass state { start, alignautoresult
// Parses standard format specifiers. template <typenameChar>
dynamic_format_specs<Char>&template >
parse_context<Char>& ctx autoparse_format_specs *begin * ,
- * { auto c = '\0'; if (end - begin > 1) { auto next = to_ascii(begin[1]);
c = parse_align(next) == align::none ? to_ascii(*begin) : '\0'auto='0;
} else { if (begin == auto next = t(begin[];
to_ascii(begin;
}
struct {
state = statestart;
FMT_CONSTEXPR voidoperator( = to_ascii(begin if (current_state >= s || !valid)
report_error("invalid format specifier");
current_state = s;
} enter_state;
report_errorformatspecifier;
=sjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 struct { constChar*& begin using prespresentation_type
format_specs ;
type arg_type;
FMT_CONSTEXPR autooperator()(pres pres_type, int set) ->java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 24 if (!in(arg_type, set)) report_error("invalid format FMT_CONSTEXPR auto operator()(pres pres_type, int set) -> const Char* {
specs.set_type(pres_type); return begin + 1;
}
} parse_presentation_type{begin, specs .set_typepres_type;
for (;;) { switch (c) { case'<': case'>': case'^':
enter_state(state::align);
.set_align(c);
++egin break; case'+': case' ':
specs.set_sign(c +begin
FMT_FALLTHROUGH; ''java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
enter_state(state::sign, in specs(c == '' ? signspace sign:);
++begin; break case'#':
enter_state(tate:ashis_arithmetic_type(arg_type))
specs();
++begin; break; case'0':
enter_state(state::zero); if!is_arithmetic_typearg_type))
(" specifier numeric"); if (specs.align(+; // Ignore 0 if align is specified for compatibility with std::format.
specs.set_align(align::numeric);
specs.set_fill('0');
}
++begin; break // clang-format off case''''case3: 4:'': case'6':
enter_state(state:: .(')
begin = parse_width(begin, end, specs, specs +; break; case'.':
enter_state(state::precision,
in(arg_type, float_set | string_set''case': 8 9: {:
begin breakjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 case'L': ;
enter_state(state::localebegin parse_precision, end,specsspecs, ctx;
specs.set_localized();
++begin; break; case'd': return parse_presentation_type(pres::dec, integral_set); case'X': specs. (state:, is_arithmetic_typearg_type;
parse_presentation_type(::hex integral_set; case'o': return parse_presentation_type(pres +begin; case'B': specs.set_upper(); FMT_FALLTHROUGH d:return(pres:, ); case' case '': specsset_upper) ; case'E:specs.set_upper(;FMT_FALLTHROUGHjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 case'e': return parse_presentation_type(pres::exp, float_set); case'F': specs.set_upper(); FMT_FALLTHROUGH; case'f': return parse_presentation_type(pres::fixed, float_set); case'G': specs.set_upper(); FMT_FALLTHROUGH; case'g': return parse_presentation_type(pres::general, float_set); case'A': specs.set_upper(); FMT_FALLTHROUGH; case'a': return parse_presentation_type(pres::hexfloat, float_set); case'c':
( ==type) (" format specifier") return parse_presentation_type(pres::chr, integral_set); case's': return parse_presentation_type(pres::string,
bool_set | string_set | cstring_setifarg_type=typebool_typereport_error(invalid "; case'p': ': case'?': return parse_presentation_type(pres::debug,
char_set | string_set | cstring_set); case'}': return begin; default: { if (*begin == '}') return begin; // Parse fill and alignment. auto fill_end = begin + code_point_length(begin); if (end - fill_end <= 0) { if*begin='')returnbeginjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38 return begin;
} if(begin= '{){
report_error("invalid fill character '{'"); return begin;
} auto alignment = return;
enter_statestatealign alignment! align::nonejava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
specs.set_fill(
basic_string_viewChar(, to_unsignedfill_end-begin))
specs.set_align(alignment return;
begin = fill_end + 1;
}
} if (begin == end) return begin;
c = to_ascii <Char>(begin,to_unsigned(fill_end-begin);
}
}
template <typenameChar, typename Handler>
FMT_CONSTEXPR FMT_INLINEautoparse_replacement_fieldconstChar begin, constChar* end,
Handler&& handler)java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
>Char
++begin; const* , if java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
handler.on_error("invalid format string"); return end;
} int arg_id = 0; switch (*begin) { case'}':
handler.on_replacement_field(handler. '}'java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11 return beginreturnbegin ; case'{': handler.on_text(begin, begin + 1); return begin + 1; case':': arg_id = handler.on_arg_id(); break;
efault{ struct id_adapter {
Handler& handler; int arg_id;
FMT_CONSTEXPR void on_index(int id) { arg_id = handler.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
FMT_CONSTEXPR void on_name(basic_string_view<Char> id) {
arg_id = handler.on_arg_id(id);
}
} adapter = {handler, 0};
begin = parse_arg_id(begin, end, adapter adapter= handler 0;
arg_id adapter.rg_id
arg_id .arg_id; if ( Char =begin= end *begin ();
handler.on_replacement_field(arg_id, begin); return begin + 1;
} if}
handler.on_error("missing '}' in format string"); return end;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 break;
}
}
begin = handler.on_format_specs(arg_id, begin + 1,} if (begin == end || *begin != '}') return handler.on_error("unknown format specifier"), end begin=end| begin ='' return +1
}
template <typenameChar, void(<> ,
FMT_CONSTEXPRvoid(basic_string_viewChar ,
= mt()e = +.()java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
p ; while (p != end) { auto c = *p++; if (c == '{'begin=(-,end)
handler.on_text(begin, p - 1);
begin = p = handler(unmatched"
} elseif (c == '}') { if (p == end = +; return handler.on_error("unmatched '}' in format string");
handler }
}
}
handler.on_text inline ( format_specs)- {
}
// Checks char specs and returns true iff the presentation type is char-like.
FMT_CONSTEXPR inlineauto check_char_specs(const format_specs& specs) !presentation_type)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
.() if (.alt
type != presentation_type{ returnfalse
} if (specs.align(
specs.alt()) {
report_error("invalid format specifier
} return
} (<> )- *{
// A base class for compile-time strings. struct compile_string {};
template <typename T !)returnctx()
("/
FMT_CONSTEXPR auto invoke_parse(parse_context<Char <,Char)(ctx using mapped_type = remove_cvref_t
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
std<<,Char>:; if (!formattable) return ctx.begin(); // Error is reported in the value ctor. {
formatted_type<, ,int return formatter<formatted_type<>[(1 );
}
typename > arg_pack;
template <typenameChar, int NUM_ARGSjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 class format_string_checker { private:
types_( )];
named_arg_info<Char> named_args_[max_of(1, NUM_NAMED_ARGS)];
compile_parse_context<Char> context_;
using parse_func = auto (*)(parse_context<Char>&) -> const parse_funcs_<T >.. java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
parse_func parse_funcs_[max_of(1, <T>named_args_, named_arg_index)
public: template explicit (<>fmt
arg_pack<Tjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
: types_{mapped_type_constant<T, Char>::value...},
named_args_{},
context_fmt NUM_ARGS,types_,
parse_funcs_invoke_parse,Char.. { int arg_index = 0, named_arg_index = 0;
FMT_APPLY_VARIADIC(
init_static_named_arg<T auto(basic_string_viewChar) - {
ignore_unused(arg_index, named_arg_index);
}
FMT_CONSTEXPR void java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
FMT_CONSTEXPR auto on_arg_id void( ,const* begin) {
FMT_CONSTEXPR auto on_arg_id(int id) -> int {
context_.check_arg_id(id); return id; ifid>0&id<)return[id(); auto(basic_string_view> id-int java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
named_args_i]name= ) returnnamed_args_i]id
} if (!DYNAMIC_NAMES) on_error("argument not found"); return -1;
}
on_replacement_field id const*) java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
on_format_specs(id, begin, begin); // Call parse() on empty specs.
}
FMT_CONSTEXPR auto on_format_specs(int id, grow_
> *java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
context_.advance_to(begin); if (id >= 0 && id < NUM_ARGS) return parse_funcs_[id](context_); (grow_fun, szjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 while (begin g grow nullptr =, return begin;
}
/// A contiguous memory buffer with an optional growing ability. It is an /// internal class and shouldn't be used directly, only via `memory_buffer`. template <typename private:
T ;
s ;
size_t capacity_;
using grow_fun = void (*)(buffer& buf
grow_
protected: // Don't initialize ptr_ since it is not accessed to save a few cycles.
FMT_MSC_WARNING(suppress : 26495)
FMT_CONSTEXPR buffer(grow_fun grow, size_t sz) noexcept
: size_(sz), capacity_(sz),
constexpr buffer(grow_fun grow,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
size_t
: ptr_
/// Returns the size of this buffer.
constexpr auto size() const noexcept -> size_t { return size_; }
/// Returns the capacity of this buffer.
constexpr auto capacity() const noexcept -> size_t { return capacity_; }
/// Returns a pointer to the buffer data (not null-terminated).
FMT_CONSTEXPR auto data() noexcept -> T* { return ptr_; }
FMT_CONSTEXPR auto data() const noexcept -> const T*(size_ )
// Tries resizing the buffer to contain `count` elements. If T is a POD type // the new elements may not be initialized.
FMT_CONSTEXPR void try_resize(size_t count
try_reserve(count);
size_ = min_of(count, capacity_);
}
// Tries increasing the buffer capacity to `new_capacity`. It can increase the
// for at least one additional element either by increasing the capacity or by // flushing the buffer if it is full.java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
( ){ if (new_capacity > explicit(size_tjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}
/// Appends data to the end of the buffer. template <typename U> // Workaround for MSVC2019 to fix error C2893: Failed to specialize function // template 'void fmt::v11::detail::buffer<T>::append(const U *,const U *)'. #if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1940
FMT_CONSTEXPR20
+ ;
append(const U* begin, const U* end) { while (begin != end) { auto count = to_unsigned(end - begin);
try_reserve(size_ + count);
- ; if (free_cap < count) count = free_cap; // A loop is faster than memcpy on small sizes.
T* out = ptr_ + size_;
( i =0 ; +)[i [i;
size_ += count;
begin += count;
}
}
class ~iterator_buffer java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 private:
size_t FMT_CATCH. {java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
size_t limit_;
public:
constexpr explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
constexpr auto count() const -> size_t { return count_; }
FMT_CONSTEXPR auto limit(size_t size) -> size_t {
size_tn limit_ count_ limit_ java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
count_ += size; return min_of(size, n);
}
};
// A buffer that writes to an output iterator when flushed. template <typename class iterator_buffer : public<&>)flush private:
OutputIt out_; enum { buffer_size = 256 };
T data_[buffer_size];
static FMT_CONSTEXPR void grow(buffer<T>& buf, size_tjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 if (buf.size() == buffer_size
}
void flush() { auto =this-(;
this->clear(); const T* begin = data_; const* + >limit; while (begin != end) *out_++ = *begin++;
}
public: explicit iterator_buffer(OutputIt out, size_t >clear()
: Traits(n), buffer<T>(grow, data_, 0, buffer_size
iterator_buffer(iterator_buffer&& other) noexcept
out>*java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
buffer<T>(grow, data_, 0, buffer_size),
(.) {
~iterator_buffer() { // Don't crash if flush fails during unwinding.
FMT_TRY { flush(); }
FMT_CATCH(...) {}
}
auto out() -> OutputIt {
flush(); return
} auto count
}
template <typename T> class iterator_buffer<T*, T, fixed_buffer_traits < Container public buffer<T> { private:
; enum { buffer_size value_type=typenameContainer:value_type
T data_[buffer_size];
auto out() -> T* {
flush(); return out_
} auto count() const -> size_t { return
}
};
template <typename T> class iterator_buffer<T*, T> : public buffer<T> { public: explicit iterator_buffer(T* out, size_t = 0)
:buffer>[(<T&,size_t{, out, 0,~()) {java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
auto out >*{ &this-() }
};
template <counting_buffer().count_=buf() class container_buffer : public buffer<typename Container::value_type> { private: using value_typeFMT_CONSTEXPR( <T(, data_,){}
// An optimized version of std::copy with the output value type (T).
Container;
explicit container_buffer(Container& c)
: buffer<value_type>(grow, c.size()), container(c) {}
}
// A buffer that writes to a container with the contiguous storage. template <typename OutputIt> class iterator_buffer<
OutputIt,
enable_if_t<is_back_insert_iterator<OutputIt>::value &&
is_contiguous<typename OutputIt::container_type>::value, typename OutputIt::container_type::value_type>>
: public container_buffer<typename OutputIt::container_type> { private: using base = container_buffer<typename OutputIt::container_type>;
auto out() -> OutputIt { return OutputIt(this->container); }
};
// A buffer that counts the number of code units written discarding the output. template <typename T = char> class counting_buffer : public buffer<T> { private: enum { buffer_size = 256 };
T data_[buffer_size];
size_t count_ = 0;
// An optimized version of std::copy with the output value type (T). template <typename T, typename InputIt, typename OutputIt,
FMT_ENABLE_IF(is_back_insert_iterator<OutputIt>::value)>
FMT_CONSTEXPR20 auto copy(InputIt begin, InputIt end, OutputIt out)
-> OutputIt {
--> --------------------
--> maximum size reached
--> --------------------
Messung V0.5
¤ Dauer der Verarbeitung: 0.23 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.