33#if defined(__GNUC__) || defined(__clang__)
34template<
typename T>
struct _va_arg_promoted_tye {
using type =
T; };
37template<>
struct _va_arg_promoted_tye<
wchar_t> {
using type =
int; };
45#if defined(__GNUC__) || defined(__clang__)
46 return (
T)(
va_arg(
arglist,
typename _va_arg_promoted_tye<T>::type));
55#if defined(__GNUC__) || defined(__clang__)
56 return (
T)(
va_arg(
arglist,
typename _va_arg_promoted_tye<T>::type));
74template <
typename Character,
typename Derived>
78 void write_character(Character
const c,
int*
const count_written, __crt_cached_ptd_host&
ptd)
const throw()
80 if (
static_cast<Derived
const*
>(
this)->write_character_without_count_update(
c,
ptd))
92 Character
const*
const string,
94 int*
const count_written,
95 __crt_cached_ptd_host&
ptd
98 auto const reset_errno =
ptd.get_errno().create_guard();
100 Character
const*
const string_last{
string +
length};
101 for (Character
const* it{
string}; it != string_last; ++it)
103 if (
static_cast<Derived
const*
>(
this)->write_character_without_count_update(*it,
ptd))
127template <
typename Character>
138 bool validate(__crt_cached_ptd_host&)
const throw()
149 Character
const*
const string,
151 int*
const count_written,
152 __crt_cached_ptd_host&
ptd
161template <
typename Character>
195 Character
const*
const string,
197 int*
const count_written,
198 __crt_cached_ptd_host&
ptd
217template <
typename Character>
226template <
typename Character>
245 __forceinline
bool write_character(Character
const c,
int*
const count_written, __crt_cached_ptd_host&)
const throw()
268 Character
const*
const string,
270 int*
const count_written,
271 __crt_cached_ptd_host&
ptd
299 size_t const elements_to_copy =
__min(space_available,
static_cast<size_t>(
length));
307 elements_to_copy *
sizeof(Character));
316 else if (elements_to_copy !=
static_cast<size_t>(
length))
322 *count_written +=
static_cast<int>(elements_to_copy);
333template <
typename OutputAdapter,
typename Character>
338 int*
const count_written,
339 __crt_cached_ptd_host&
ptd
345 if (*count_written == -1)
377 template <
typename T>
383 size_t const required_size{
count *
sizeof(
T) * 2};
394 __crt_unique_heap_ptr<char> new_buffer{_malloc_crt_t(
char, required_size)};
399 _dynamic_buffer =
static_cast<__crt_unique_heap_ptr<char>&&
>(new_buffer);
404 template <
typename T>
413 template <
typename T>
422 template <
typename T>
431 template <
typename T>
476 char const nextchar = *
buffer;
498 char const decimal_point = *
locale->locinfo->lconv->decimal_point;
513 if (*
buffer == decimal_point)
516 while((*++
buffer = *stop++) !=
'\0') { }
569template <
typename T,
size_t Size>
575 static_assert((
Size &
mask) == 0,
"Size must be a power of two.");
579 #if defined(_MSC_VER) && !defined(__clang__)
842template <
typename Character>
861 return sizeof(Character) ==
sizeof(
wchar_t);
864 bool const is_naturally_wide{
865 sizeof(Character) ==
sizeof(
wchar_t) &&
869 bool const is_natural_width{
874 return is_naturally_wide == is_natural_width;
912template <
typename Character>
995template <
typename Character,
typename OutputAdapter>
1006 OutputAdapter
const& output_adapter,
1008 Character
const*
const format,
1009 __crt_cached_ptd_host&
ptd,
1034template <
typename Character,
typename OutputAdapter>
1041 using common_data_base::_valist_it;
1042 using common_data_base::_field_width;
1043 using common_data_base::_precision;
1045 template <
typename... Ts>
1069 template <
typename RequestedParameterType,
typename ActualParameterType>
1072 result =
static_cast<ActualParameterType
>(read_va_arg<RequestedParameterType>(
_valist_it));
1116 return standard_lookup_table_spectre;
1143template <
typename Character,
typename OutputAdapter>
1150 using common_data_base::_ptd;
1151 using common_data_base::_state;
1153 template <
typename... Ts>
1177 return format_validation_lookup_table_spectre;
1192template <
typename Character,
typename OutputAdapter>
1197#if defined(__GNUC__) || defined(__clang__)
1200 using common_data_base::_format_it;
1201 using common_data_base::_ptd;
1202 using common_data_base::_field_width;
1203 using common_data_base::_precision;
1204 using common_data_base::_format_char;
1205 using common_data_base::_valist_it;
1206 using common_data_base::_length;
1207 using common_data_base::_state;
1208 using common_data_base::_options;
1215 template <
typename... Ts>
1272 switch (it->_actual_type)
1294 template <
typename RequestedParameterType,
typename ActualParameterType>
1299 return base_type::template extract_argument_from_va_list<RequestedParameterType>(
result);
1327 Character* end_pointer{
nullptr};
1361 Character* end_pointer{
nullptr};
1432 Character* end_pointer{
nullptr};
1459 Character* end_pointer{
nullptr};
1539 template <
typename T>
1571 if (old_is_pointer || new_is_pointer)
1573 return old_is_pointer == new_is_pointer;
1584 if (old_is_string || new_is_string || old_is_character || new_is_character)
1586 if (old_is_string != new_is_string || old_is_character != new_is_character)
1591 if (old_is_wide != new_is_wide)
1603 if (old_is_integral || new_is_integral)
1605 if (old_is_integral != new_is_integral)
1614 return parameter._actual_type == actual_type;
1626 parameter._actual_type = actual_type;
1628 parameter._length =
length;
1640 template <
typename Character2>
1646 template <
typename Character2>
1652 template <
typename Character2>
1658 template <
typename Character2>
1696template <
typename Character,
typename OutputAdapter,
typename ProcessorBase>
1698 :
private ProcessorBase
1702 using ProcessorBase::advance_to_next_pass;
1703 using ProcessorBase::validate_and_update_state_at_beginning_of_format_character;
1704 using ProcessorBase::validate_and_update_state_at_end_of_format_string;
1705 using ProcessorBase::should_skip_normal_state_processing;
1706 using ProcessorBase::update_field_width;
1707 using ProcessorBase::should_format;
1708 using ProcessorBase::update_precision;
1709 using ProcessorBase::should_skip_type_state_output;
1710 using ProcessorBase::validate_state_for_type_case_a;
1711 using ProcessorBase::tchar_string;
1712 using ProcessorBase::state_transition_table;
1713 using ProcessorBase::state_count;
1714 using oad_base =
typename ProcessorBase::output_adapter_data;
1715 using oad_base::_output_adapter;
1717 using common_data_base::_string_length;
1718 using common_data_base::_ptd;
1719 using common_data_base::_format_it;
1720 using common_data_base::_state;
1721 using common_data_base::_format_char;
1722 using common_data_base::_characters_written;
1723 using common_data_base::_string_is_wide;
1724 using common_data_base::_field_width;
1725 using common_data_base::_suppress_output;
1726 using common_data_base::_flags;
1727 using common_data_base::_precision;
1728 using common_data_base::_length;
1729 using common_data_base::_options;
1730 using common_data_base::_buffer;
1731 using common_data_base::_narrow_string;
1732 using common_data_base::_wide_string;
1738 OutputAdapter
const& output_adapter,
1740 Character
const*
const format,
1741 __crt_cached_ptd_host&
ptd,
1753 if (!_output_adapter.validate(_ptd))
1760 while (advance_to_next_pass())
1769 while ((_format_char = *_format_it++) !=
'\0' && _characters_written >= 0)
1773 if (!validate_and_update_state_at_beginning_of_format_character())
1805 if (!validate_and_update_state_at_end_of_format_string())
1809 return _characters_written;
1823 if (should_skip_normal_state_processing())
1836 _output_adapter.write_character(_format_char, &_characters_written, _ptd);
1842 _string_is_wide =
false;
1846 _output_adapter.write_character(_format_char, &_characters_written, _ptd);
1847 _format_char = *_format_it++;
1858 _string_is_wide =
true;
1868 _suppress_output =
false;
1872 _string_is_wide =
false;
1883 switch (_format_char)
1902 auto const reset_errno = _ptd.get_errno().create_guard();
1910 if (_ptd.get_errno().check(
ERANGE))
1915 if (
end < _format_it)
1930 if (_format_char !=
'*')
1938 if (!update_field_width())
1941 if (!should_format())
1944 if (_field_width < 0)
1947 _field_width = -_field_width;
1971 if (_format_char !=
'*')
1979 if (!update_precision())
1982 if (!should_format())
1995 if (_format_char ==
'F')
2012 if (_format_char ==
'N')
2021#pragma warning(suppress: __WARNING_IGNOREDBYCOMMA)
2032 switch (_format_char)
2036 if (*_format_it ==
'h')
2053 if (*_format_it ==
'3' && *(_format_it + 1) ==
'2')
2058 else if (*_format_it ==
'6' && *(_format_it + 1) ==
'4')
2063 else if (*_format_it ==
'd' ||
2064 *_format_it ==
'i' ||
2065 *_format_it ==
'o' ||
2066 *_format_it ==
'u' ||
2067 *_format_it ==
'x' ||
2080 if (*_format_it ==
'l')
2147 switch (_format_char)
2190 if (should_skip_type_state_output())
2197 if (_suppress_output)
2202 size_t prefix_length{0};
2208 prefix[prefix_length++] =
'-';
2212 prefix[prefix_length++] =
'+';
2216 prefix[prefix_length++] =
' ';
2220 bool const print_integer_0x{(_format_char ==
'x' || _format_char ==
'X') &&
has_flag(
FL_ALTERNATE)};
2221 bool const print_floating_point_0x{_format_char ==
'a' || _format_char ==
'A'};
2223 if (print_integer_0x || print_floating_point_0x)
2225 prefix[prefix_length++] =
'0';
2226 prefix[prefix_length++] =
adjust_hexit(
'x' -
'a' +
'9' + 1, _format_char ==
'X' || _format_char ==
'A');
2232 int const padding =
static_cast<int>(_field_width - _string_length - prefix_length);
2241 _output_adapter.write_string(
prefix,
static_cast<int>(prefix_length), &_characters_written, _ptd);
2276 wchar_t wide_character{};
2277 if (!this->
template extract_argument_from_va_list<wchar_t>(wide_character))
2282 if (!should_format())
2292 _suppress_output =
true;
2299 if (!this->
template extract_argument_from_va_list<unsigned short>(_buffer.template
data<char>()[0]))
2304 if (!should_format())
2312 _narrow_string = _buffer.template
data<char>();
2320 _string_is_wide =
true;
2322 wchar_t wide_character{};
2323 if (!this->
template extract_argument_from_va_list<wchar_t>(wide_character))
2326 if (!should_format())
2335 char const local_buffer[2]{
static_cast<char>(wide_character & 0x00ff),
'\0' };
2339 _ptd.get_locale()->locinfo->_public._locale_mb_cur_max,
2344 _suppress_output =
true;
2368 unsigned short _length;
2369 unsigned short _maximum_length;
2373 ansi_string*
string{};
2374 if (!this->
template extract_argument_from_va_list<ansi_string*>(
string))
2377 if (!should_format())
2380 if (!
string ||
string->_buffer ==
nullptr)
2383 _string_length =
static_cast<int>(
strlen(_narrow_string));
2384 _string_is_wide =
false;
2388 _wide_string =
reinterpret_cast<wchar_t*
>(
string->_buffer);
2389 _string_length =
string->_length /
static_cast<int>(
sizeof(
wchar_t));
2390 _string_is_wide =
true;
2394 _narrow_string =
string->_buffer;
2395 _string_length =
string->_length;
2396 _string_is_wide =
false;
2409 if (!this->
template extract_argument_from_va_list<char*>(_narrow_string))
2412 if (!should_format())
2415 int const maximum_length{(_precision == -1) ?
INT_MAX : _precision};
2422 _string_is_wide =
true;
2423 _string_length =
static_cast<int>(
wcsnlen(_wide_string, maximum_length));
2427 if (!_narrow_string)
2443 return static_cast<int>(
strnlen(_narrow_string, maximum_length));
2449 int string_length{0};
2451 for (
char const*
p{_narrow_string}; string_length < maximum_length && *
p; ++string_length)
2461 return string_length;
2473 if (!validate_state_for_type_case_a())
2476 if (!should_format())
2494 if (_format_char ==
'a' || _format_char ==
'A')
2503 else if (_precision == 0 && (_format_char ==
'g' || _format_char ==
'G'))
2508 if (!_buffer.template ensure_buffer_is_big_enough<char>(
_CVTBUFSIZE + _precision, _ptd))
2515 _narrow_string = _buffer.template
data<char>();
2519 if (!this->
template extract_argument_from_va_list<_CRT_DOUBLE>(tmp))
2529 _buffer.template scratch_data<char>(),
2530 _buffer.template scratch_count<char>(),
2531 static_cast<char>(_format_char),
2534 __acrt_rounding_mode::standard,
2554 if (*_narrow_string ==
'-')
2562 if (*_narrow_string ==
'i' || *_narrow_string ==
'I' ||
2563 *_narrow_string ==
'n' || *_narrow_string ==
'N')
2569 _string_length =
static_cast<int>(
strlen(_narrow_string));
2582 return type_case_integer<10>();
2587 return type_case_integer<10>();
2596 return type_case_integer<8>();
2601 return type_case_integer<16>(
true);
2606 return type_case_integer<16>();
2616 _precision = 2 *
sizeof(
void*);
2620 _length =
sizeof(
void*) == 4
2624 return type_case_integer<16>(
true);
2630 template <
unsigned Radix>
2637 bool extraction_result{};
2638 switch (integer_size)
2642 ? this->
template extract_argument_from_va_list<int8_t >(original_number)
2643 : this->
template extract_argument_from_va_list<uint8_t>(original_number);
2647 ? this->
template extract_argument_from_va_list<int16_t >(original_number)
2648 : this->
template extract_argument_from_va_list<uint16_t>(original_number);
2652 ? this->
template extract_argument_from_va_list<int32_t >(original_number)
2653 : this->
template extract_argument_from_va_list<uint32_t>(original_number);
2657 ? this->
template extract_argument_from_va_list<int64_t >(original_number)
2658 : this->
template extract_argument_from_va_list<uint64_t>(original_number);
2665 if (!extraction_result)
2670 if (!should_format())
2698 _buffer.template ensure_buffer_is_big_enough<Character>(_precision, _ptd);
2708 _string_is_wide =
sizeof(Character) ==
sizeof(
wchar_t);
2710 if (integer_size ==
sizeof(
int64_t))
2712 type_case_integer_parse_into_buffer<uint64_t, Radix>(
number, capital_hexits);
2716 type_case_integer_parse_into_buffer<uint32_t, Radix>(
static_cast<uint32_t>(
number), capital_hexits);
2723 *--tchar_string() =
'0';
2734 template <
typename Un
signedInteger,
unsigned Radix>
2737 bool const capital_hexits
2746 Character*& string_pointer = tchar_string();
2748 string_pointer = last_digit;
2749 while (_precision > 0 ||
number != 0)
2753 Character
digit{
static_cast<Character
>(
number % Radix +
'0')};
2763 *string_pointer-- =
static_cast<char>(
digit);
2766 _string_length =
static_cast<int>(last_digit - string_pointer);
2776 if (!this->
template extract_argument_from_va_list<void*>(
p))
2779 if (!should_format())
2790 case sizeof(
int8_t): *
static_cast<int8_t *
>(
p) =
static_cast<int8_t >(_characters_written);
break;
2798 _suppress_output =
true;
2806 if (!_string_is_wide || _string_length <= 0)
2808 _output_adapter.write_string(_narrow_string, _string_length, &_characters_written, _ptd);
2812 wchar_t*
p{_wide_string};
2813 for (
int i{0};
i != _string_length; ++
i)
2819 if (
status != 0 || mbc_length == 0)
2821 _characters_written = -1;
2825 _output_adapter.write_string(local_buffer, mbc_length, &_characters_written, _ptd);
2834 if (_string_is_wide || _string_length <= 0)
2836 _output_adapter.write_string(_wide_string, _string_length, &_characters_written, _ptd);
2840 _locale_t locale_ptr = _ptd.get_locale();
2841 char*
p{_narrow_string};
2842 for (
int i{0};
i != _string_length; ++
i)
2844 wchar_t wide_character{};
2847 if (mbc_length <= 0)
2849 _characters_written = -1;
2853 _output_adapter.write_character(wide_character, &_characters_written, _ptd);
2863 bool has_flag (
unsigned const f)
const throw() {
return (_flags &
f) != 0; }
2869 auto const& lookup_table = state_transition_table();
2871 unsigned const current_class =
static_cast<unsigned>((
c <
' ' ||
c >
'z')
2875 auto const index = current_class * state_count() +
static_cast<unsigned>(previous_state);
2876 return static_cast<state>(lookup_table[
index].next_state);
2886 int const base {capitalize ?
'A' :
'a'};
ACPI_SIZE strlen(const char *String)
static int_type _STLP_CALL eof()
formatting_buffer _buffer
__crt_cached_ptd_host & _ptd
Character *& tchar_string()
wchar_t *& tchar_string(wchar_t)
char *& tchar_string(char)
common_data(__crt_cached_ptd_host &ptd)
Character const * _format_it
__acrt_stdio_char_traits< Character > char_traits
void write_string(Character const *const string, int const length, int *const count_written, __crt_cached_ptd_host &ptd) const
bool write_character_without_count_update(Character const c, __crt_cached_ptd_host &ptd) const
bool validate(__crt_cached_ptd_host &) const
void write_character(Character const c, int *const count_written, __crt_cached_ptd_host &ptd) const
void write_string_impl(Character const *const string, int const length, int *const count_written, __crt_cached_ptd_host &ptd) const
OutputAdapter _output_adapter
output_adapter_data(OutputAdapter const &output_adapter, uint64_t const options, Character const *const format, __crt_cached_ptd_host &ptd, va_list const arglist)
typename ProcessorBase::common_data_base common_data_base
__forceinline bool state_case_width()
typename ProcessorBase::output_adapter_data oad_base
bool has_flag(unsigned const f) const
static char __cdecl adjust_hexit(int const value, bool const capitalize)
bool type_case_c_tchar(char)
__forceinline bool write_stored_string_tchar(char)
__forceinline bool state_case_precision()
bool type_case_integer(bool const capital_hexits=false)
void set_flag(unsigned const f)
int type_case_s_compute_narrow_string_length(int const maximum_length, wchar_t)
output_processor(OutputAdapter const &output_adapter, uint64_t const options, Character const *const format, __crt_cached_ptd_host &ptd, va_list const arglist)
__forceinline bool state_case_dot()
static char *__cdecl narrow_null_string()
__acrt_stdio_char_traits< Character > char_traits
void type_case_integer_parse_into_buffer(UnsignedInteger number, bool const capital_hexits)
bool type_case_c_tchar(wchar_t)
__forceinline bool state_case_percent()
__forceinline bool state_case_normal()
static wchar_t *__cdecl wide_null_string()
__forceinline bool state_case_normal_tchar(wchar_t)
__forceinline bool state_case_flag()
__forceinline bool state_case_normal_common()
bool parse_int_from_format_string(int *const result)
state find_next_state(Character const c, state const previous_state) const
int type_case_s_compute_narrow_string_length(int const maximum_length, char)
void unset_flag(unsigned const f)
__forceinline bool state_case_normal_tchar(char)
__forceinline bool write_stored_string_tchar(wchar_t)
static parameter_type __cdecl get_parameter_type(__int64)
Character const * _format
bool validate_and_update_state_at_end_of_format_string()
static parameter_type __cdecl get_parameter_type(T *)
bool should_skip_type_state_output() const
bool advance_to_next_pass()
static parameter_type __cdecl get_parameter_type(wchar_t)
static bool __cdecl is_character_specifier(Character2 const specifier)
format_validation_base< Character, OutputAdapter > base_type
positional_parameter_base self_type
bool should_skip_normal_state_processing()
static bool __cdecl is_pointer_specifier(Character2 const specifier)
bool validate_and_store_parameter_data(parameter_data ¶meter, parameter_type const actual_type, Character const format_type, length_modifier const length)
bool extract_argument_from_va_list(ActualParameterType &result)
static bool __cdecl is_integral_specifier(Character2 const specifier)
static parameter_type __cdecl get_parameter_type(unsigned short)
parameter_data _parameters[_ARGMAX]
bool update_field_width()
positional_parameter_base(Ts &&... arguments)
static parameter_type __cdecl get_parameter_type(int)
bool validate_state_for_type_case_a()
static parameter_type __cdecl get_parameter_type(unsigned __int64)
__crt_char_traits< Character > char_traits
static bool __cdecl is_string_specifier(Character2 const specifier)
static parameter_type __cdecl get_parameter_type(unsigned int)
bool is_positional_parameter_reappearance_consistent(parameter_data const ¶meter, parameter_type const actual_type, Character const format_type, length_modifier const length)
static parameter_type __cdecl get_parameter_type(short)
bool validate_and_update_state_at_beginning_of_format_character()
static parameter_type __cdecl get_parameter_type(_CRT_DOUBLE)
T const & operator[](size_t const index) const
bool validate_state_for_type_case_a() const
static unsigned state_count()
__forceinline bool validate_and_update_state_at_end_of_format_string() const
bool extract_argument_from_va_list(ActualParameterType &result)
bool validate_and_update_state_at_beginning_of_format_character()
bool advance_to_next_pass()
standard_base(Ts &&... arguments)
static printf_state_transition_table const & state_transition_table()
typename output_adapter_data< Character, OutputAdapter >::template common_data< Character > common_data_base
bool should_skip_type_state_output() const
bool update_field_width()
bool should_skip_normal_state_processing()
stream_output_adapter(FILE *const public_stream)
bool write_character_without_count_update(Character const c, __crt_cached_ptd_host &ptd) const
bool validate(__crt_cached_ptd_host &ptd) const
__acrt_stdio_char_traits< Character > char_traits
__crt_stdio_stream _stream
void write_string(Character const *const string, int const length, int *const count_written, __crt_cached_ptd_host &ptd) const
bool validate(__crt_cached_ptd_host &ptd) const
string_output_adapter(context_type *const context)
string_output_adapter_context< Character > context_type
void write_string(Character const *const string, int const length, int *const count_written, __crt_cached_ptd_host &ptd) const
__forceinline bool write_character(Character const c, int *const count_written, __crt_cached_ptd_host &) const
__acrt_stdio_char_traits< Character > char_traits
FILE * public_stream() const
bool is_string_backed() const
_Check_return_ __forceinline unsigned char __cdecl _tolower_fast_internal(_In_ unsigned char const c, _In_ _locale_t const locale)
__inline int __CRTDECL __acrt_isleadbyte_l_noupdate(_In_ int const c, _In_ _locale_t const locale)
_Check_return_ __forceinline unsigned short __cdecl _isdigit_fast_internal(_In_ unsigned char const c, _In_ _locale_t const locale)
#define _UCRT_VALIDATE_RETURN(ptd, expr, errorcode, retexpr)
#define _UCRT_VALIDATE_RETURN_NOEXC(ptd, expr, errorcode, retexpr)
__forceinline long __cdecl _tcstol_internal(__crt_cached_ptd_host &ptd, Character const *const string, EndPointer const end, int const base)
#define _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS
#define _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY
result_buffer_count char *const _In_ int const _In_ bool const _In_ unsigned const _In_ STRFLT const _In_ bool const _Inout_ __crt_cached_ptd_host &ptd throw()
errno_t __cdecl __acrt_fp_format(double const *const value, char *const result_buffer, size_t const result_buffer_count, char *const scratch_buffer, size_t const scratch_buffer_count, int const format, int const precision, uint64_t const options, __acrt_rounding_mode rounding_mode, __crt_cached_ptd_host &ptd)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
__kernel_ptrdiff_t ptrdiff_t
void __declspec(noinline) __cdecl _free_base(void *const block)
Character const *const size_t const max_count
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_CRTIMP int __cdecl _get_printf_count_output(void)
__MINGW_EXTENSION typedef long long intmax_t
int __cdecl _mbtowc_internal(wchar_t *pwc, const char *s, size_t n, __crt_cached_ptd_host &ptd)
#define memcpy(s1, s2, n)
static unsigned int number
static const DWORD padding[]
static unsigned(__cdecl *hash_bstr)(bstr_t s)
size_t __cdecl to_integer_size(length_modifier const length)
bool __cdecl is_wide_character_specifier(uint64_t const options, Character const format_type, length_modifier const length)
void __cdecl crop_zeroes(_Inout_z_ char *buffer, _locale_t const locale)
T peek_va_arg(va_list arglist)
T read_va_arg(va_list &arglist)
spectre_mitigated_lookup_table< state_transition_pair, 128 > printf_state_transition_table
__forceinline void write_multiple_characters(OutputAdapter const &adapter, Character const c, int const count, int *const count_written, __crt_cached_ptd_host &ptd)
void __cdecl force_decimal_point(_Inout_z_ char *buffer, _locale_t const locale)
#define UNREFERENCED_PARAMETER(P)
size_t __cdecl strnlen(char const *const string, size_t const maximum_count)
size_t __cdecl wcsnlen(wchar_t const *const string, size_t const maximum_count)
parameter_type _actual_type
character_type current_class
Character const *const prefix
int __cdecl _wctomb_internal(int *const return_value, char *const destination, size_t const destination_count, wchar_t const wchar, __crt_cached_ptd_host &ptd)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size