ReactOS 0.4.16-dev-747-gbc52d5f
__crt_stdio_output Namespace Reference

Classes

class  common_data
 
class  console_output_adapter
 
class  format_validation_base
 
class  formatting_buffer
 
class  output_adapter_common
 
class  output_adapter_data
 
class  output_processor
 
class  positional_parameter_base
 
class  spectre_mitigated_lookup_table
 
class  standard_base
 
struct  state_transition_pair
 
class  stream_output_adapter
 
class  string_output_adapter
 
struct  string_output_adapter_context
 

Typedefs

using printf_state_transition_table = spectre_mitigated_lookup_table< state_transition_pair, 128 >
 

Enumerations

enum class  state : unsigned char {
  normal , percent , flag , width ,
  dot , precision , size , type ,
  invalid
}
 
enum class  character_type : unsigned char {
  other , percent , dot , star ,
  zero , digit , flag , size ,
  type
}
 
enum  FLAG : unsigned {
  FL_SIGN = 0x01 , FL_SIGNSP = 0x02 , FL_LEFT = 0x04 , FL_LEADZERO = 0x08 ,
  FL_SIGNED = 0x10 , FL_ALTERNATE = 0x20 , FL_NEGATIVE = 0x40 , FL_FORCEOCTAL = 0x80
}
 
enum class  length_modifier {
  none , hh , h , l ,
  ll , j , z , t ,
  L , I , I32 , I64 ,
  w , T , enumerator_count
}
 

Functions

template<typename T >
T read_va_arg (va_list &arglist) throw ()
 
template<typename T >
T peek_va_arg (va_list arglist) throw ()
 
template<typename OutputAdapter , typename Character >
__forceinline void write_multiple_characters (OutputAdapter const &adapter, Character const c, int const count, int *const count_written, __crt_cached_ptd_host &ptd) throw ()
 
void __cdecl force_decimal_point (_Inout_z_ char *buffer, _locale_t const locale) throw ()
 
void __cdecl crop_zeroes (_Inout_z_ char *buffer, _locale_t const locale) throw ()
 
 __declspec (selectany) printf_state_transition_table const standard_lookup_table_spectre
 
size_t __cdecl to_integer_size (length_modifier const length) throw ()
 
template<typename Character >
bool __cdecl is_wide_character_specifier (uint64_t const options, Character const format_type, length_modifier const length) throw ()
 

Typedef Documentation

◆ printf_state_transition_table

Enumeration Type Documentation

◆ character_type

Enumerator
other 
percent 
dot 
star 
zero 
digit 
flag 
size 
type 

Definition at line 550 of file corecrt_internal_stdio_output.h.

551{
552 other, // character with no special meaning
553 percent, // '%'
554 dot, // '.'
555 star, // '*'
556 zero, // '0'
557 digit, // '1'..'9'
558 flag, // ' ', '+', '-', '#'
559 size, // 'h', 'l', 'L', 'N', 'F', 'w'
560 type // type specifying character
561};
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLsizeiptr size
Definition: glext.h:5919
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 flag
Definition: glfuncs.h:52
int other
Definition: msacm.c:1376
int zero
Definition: sehframes.cpp:29

◆ FLAG

Enumerator
FL_SIGN 
FL_SIGNSP 
FL_LEFT 
FL_LEADZERO 
FL_SIGNED 
FL_ALTERNATE 
FL_NEGATIVE 
FL_FORCEOCTAL 

Definition at line 792 of file corecrt_internal_stdio_output.h.

793{
794 FL_SIGN = 0x01, // Put plus or minus in front
795 FL_SIGNSP = 0x02, // Put space or minus in front
796 FL_LEFT = 0x04, // Left justify
797 FL_LEADZERO = 0x08, // Pad with leading zeros
798 FL_SIGNED = 0x10, // Signed data given
799 FL_ALTERNATE = 0x20, // Alternate form requested
800 FL_NEGATIVE = 0x40, // Value is negative
801 FL_FORCEOCTAL = 0x80, // Force leading '0' for octals
802};

◆ length_modifier

Enumerator
none 
hh 
ll 
I32 
I64 
enumerator_count 

Definition at line 804 of file corecrt_internal_stdio_output.h.

805{
806 none,
807 hh,
808 h,
809 l,
810 ll,
811 j,
812 z,
813 t,
814 L,
815 I,
816 I32,
817 I64,
818 w,
819 T,
820 enumerator_count
821};
#define I64(x)
Definition: byte_order.h:111
w ll
Definition: byte_order.h:167
r l[0]
Definition: byte_order.h:168
GLdouble GLdouble t
Definition: gl.h:2047
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
GLdouble GLdouble z
Definition: glext.h:5874
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
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 GLint GLint j
Definition: glfuncs.h:250
#define I(s)
#define T
Definition: mbstring.h:31
#define L(x)
Definition: ntvdm.h:50

◆ state

Enumerator
normal 
percent 
flag 
width 
dot 
precision 
size 
type 
invalid 

Definition at line 533 of file corecrt_internal_stdio_output.h.

534{
535 normal, // Normal state; outputting literal chars
536 percent, // Just read '%'
537 flag, // Just read flag character
538 width, // Just read width specifier
539 dot, // Just read '.'
540 precision, // Just read precision specifier
541 size, // Just read size specifier
542 type, // Just read type specifier
543 invalid // Invalid format
544};
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum GLint GLint * precision
Definition: glext.h:7539
static const WCHAR invalid[]
Definition: assoc.c:39
@ normal
Definition: optimize.h:166

Function Documentation

◆ __declspec()

__crt_stdio_output::__declspec ( selectany  ) const

Definition at line 594 of file corecrt_internal_stdio_output.h.

595{
596 /* prev state -> cur char -> new state character type */
597 /* normal -> other -> */ state::normal, /* ' ' */ character_type::flag,
598 /* percent -> other -> */ state::normal, /* '!' */ character_type::other,
599 /* flag -> other -> */ state::normal, /* '"' */ character_type::other,
600 /* width -> other -> */ state::normal, /* '#' */ character_type::flag,
601 /* dot -> other -> */ state::normal, /* '$' */ character_type::other,
602 /* precision -> other -> */ state::normal, /* '%' */ character_type::percent,
603 /* size -> other -> */ state::normal, /* '&' */ character_type::other,
604 /* type -> other -> */ state::normal, /* ''' */ character_type::other,
605 /* normal -> percent -> */ state::percent, /* '(' */ character_type::other,
606 /* percent -> percent -> */ state::normal, /* ')' */ character_type::other,
607 /* flag -> percent -> */ state::normal, /* '*' */ character_type::star,
608 /* width -> percent -> */ state::normal, /* '+' */ character_type::flag,
609 /* dot -> percent -> */ state::normal, /* ',' */ character_type::other,
610 /* precision -> percent -> */ state::normal, /* '-' */ character_type::flag,
611 /* size -> percent -> */ state::normal, /* '.' */ character_type::dot,
612 /* type -> percent -> */ state::percent, /* '/' */ character_type::other,
613 /* normal -> dot -> */ state::normal, /* '0' */ character_type::zero,
614 /* percent -> dot -> */ state::dot, /* '1' */ character_type::digit,
615 /* flag -> dot -> */ state::dot, /* '2' */ character_type::digit,
616 /* width -> dot -> */ state::dot, /* '3' */ character_type::digit,
617 /* dot -> dot -> */ state::normal, /* '4' */ character_type::digit,
618 /* precision -> dot -> */ state::normal, /* '5' */ character_type::digit,
619 /* size -> dot -> */ state::normal, /* '6' */ character_type::digit,
620 /* type -> dot -> */ state::normal, /* '7' */ character_type::digit,
621 /* normal -> star -> */ state::normal, /* '8' */ character_type::digit,
622 /* percent -> star -> */ state::width, /* '9' */ character_type::digit,
623 /* flag -> star -> */ state::width, /* ':' */ character_type::other,
624 /* width -> star -> */ state::normal, /* ';' */ character_type::other,
625 /* dot -> star -> */ state::precision, /* '<' */ character_type::other,
626 /* precision -> star -> */ state::normal, /* '=' */ character_type::other,
627 /* size -> star -> */ state::normal, /* '>' */ character_type::other,
628 /* type -> star -> */ state::normal, /* '?' */ character_type::other,
629 /* normal -> zero -> */ state::normal, /* '@' */ character_type::other,
630 /* percent -> zero -> */ state::flag, /* 'A' */ character_type::type,
631 /* flag -> zero -> */ state::flag, /* 'B' */ character_type::other,
632 /* width -> zero -> */ state::width, /* 'C' */ character_type::type,
633 /* dot -> zero -> */ state::precision, /* 'D' */ character_type::other,
634 /* precision -> zero -> */ state::precision, /* 'E' */ character_type::type,
635 /* size -> zero -> */ state::normal, /* 'F' */ character_type::size,
636 /* type -> zero -> */ state::normal, /* 'G' */ character_type::type,
637 /* normal -> digit -> */ state::normal, /* 'H' */ character_type::other,
638 /* percent -> digit -> */ state::width, /* 'I' */ character_type::size,
639 /* flag -> digit -> */ state::width, /* 'J' */ character_type::other,
640 /* width -> digit -> */ state::width, /* 'K' */ character_type::other,
641 /* dot -> digit -> */ state::precision, /* 'L' */ character_type::size,
642 /* precision -> digit -> */ state::precision, /* 'M' */ character_type::other,
643 /* size -> digit -> */ state::normal, /* 'N' */ character_type::size,
644 /* type -> digit -> */ state::normal, /* 'O' */ character_type::other,
645 /* normal -> flag -> */ state::normal, /* 'P' */ character_type::other,
646 /* percent -> flag -> */ state::flag, /* 'Q' */ character_type::other,
647 /* flag -> flag -> */ state::flag, /* 'R' */ character_type::other,
648 /* width -> flag -> */ state::normal, /* 'S' */ character_type::type,
649 /* dot -> flag -> */ state::normal, /* 'T' */ character_type::size,
650 /* precision -> flag -> */ state::normal, /* 'U' */ character_type::other,
651 /* size -> flag -> */ state::normal, /* 'V' */ character_type::other,
652 /* type -> flag -> */ state::normal, /* 'W' */ character_type::other,
653 /* normal -> size -> */ state::normal, /* 'X' */ character_type::type,
654 /* percent -> size -> */ state::size, /* 'Y' */ character_type::other,
655 /* flag -> size -> */ state::size, /* 'Z' */ character_type::type,
656 /* width -> size -> */ state::size, /* '[' */ character_type::other,
657 /* dot -> size -> */ state::size, /* '\' */ character_type::other,
658 /* precision -> size -> */ state::size, /* ']' */ character_type::other,
659 /* size -> size -> */ state::size, /* '^' */ character_type::other,
660 /* type -> size -> */ state::normal, /* '_' */ character_type::other,
661 /* normal -> type -> */ state::normal, /* '`' */ character_type::other,
662 /* percent -> type -> */ state::type, /* 'a' */ character_type::type,
663 /* flag -> type -> */ state::type, /* 'b' */ character_type::other,
664 /* width -> type -> */ state::type, /* 'c' */ character_type::type,
665 /* dot -> type -> */ state::type, /* 'd' */ character_type::type,
666 /* precision -> type -> */ state::type, /* 'e' */ character_type::type,
667 /* size -> type -> */ state::type, /* 'f' */ character_type::type,
668 /* type -> type -> */ state::normal, /* 'g' */ character_type::type,
669 /* unused */ state::normal, /* 'h' */ character_type::size,
670 /* unused */ state::normal, /* 'i' */ character_type::type,
671 /* unused */ state::normal, /* 'j' */ character_type::size,
672 /* unused */ state::normal, /* 'k' */ character_type::other,
673 /* unused */ state::normal, /* 'l' */ character_type::size,
674 /* unused */ state::normal, /* 'm' */ character_type::other,
675 /* unused */ state::normal, /* 'n' */ character_type::type,
676 /* unused */ state::normal, /* 'o' */ character_type::type,
677 /* unused */ state::normal, /* 'p' */ character_type::type,
678 /* unused */ state::normal, /* 'q' */ character_type::other,
679 /* unused */ state::normal, /* 'r' */ character_type::other,
680 /* unused */ state::normal, /* 's' */ character_type::type,
681 /* unused */ state::normal, /* 't' */ character_type::size,
682 /* unused */ state::normal, /* 'u' */ character_type::type,
683 /* unused */ state::normal, /* 'v' */ character_type::other,
684 /* unused */ state::normal, /* 'w' */ character_type::size,
685 /* unused */ state::normal, /* 'x' */ character_type::type,
686 /* unused */ state::normal, /* 'y' */ character_type::other,
687 /* unused */ state::normal, /* 'z' */ character_type::size
688};

◆ crop_zeroes()

void __cdecl __crt_stdio_output::crop_zeroes ( _Inout_z_ char buffer,
_locale_t const  locale 
)
throw (
)
inline

Definition at line 496 of file corecrt_internal_stdio_output.h.

497{
498 char const decimal_point = *locale->locinfo->lconv->decimal_point;
499
500 while (*buffer && *buffer != decimal_point)
501 ++buffer;
502
503 if (*buffer++)
504 {
505 while (*buffer && *buffer != 'e' && *buffer != 'E')
506 ++buffer;
507
508 char* stop = buffer--;
509
510 while (*buffer == '0')
511 --buffer;
512
513 if (*buffer == decimal_point)
514 --buffer;
515
516 while((*++buffer = *stop++) != '\0') { }
517 }
518}
Definition: _locale.h:75
GLuint buffer
Definition: glext.h:5915

Referenced by __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_a().

◆ force_decimal_point()

void __cdecl __crt_stdio_output::force_decimal_point ( _Inout_z_ char buffer,
_locale_t const  locale 
)
throw (
)
inline

Definition at line 451 of file corecrt_internal_stdio_output.h.

452{
453 if (_tolower_fast_internal(static_cast<unsigned char>(*buffer), locale) != 'e')
454 {
455 do
456 {
457 ++buffer;
458 }
459 while (_isdigit_fast_internal(static_cast<unsigned char>(*buffer), locale));
460 }
461
462 // Check if the buffer is in hexadecimal format (cfr %a or %A and fp_format_a):
464 {
465 // The buffer is in the form: [-]0xhP+d, and buffer points to the 'x':
466 // we want to put the decimal point after the h digit: [-]0xh.P+d
467 buffer += 2; // REVIEW This can skip terminal nul?
468 }
469
470 char holdchar = *buffer;
471
472 *buffer++ = *locale->locinfo->lconv->decimal_point;
473
474 do
475 {
476 char const nextchar = *buffer;
477 *buffer = holdchar;
478 holdchar = nextchar;
479 }
480 while (*buffer++);
481}
_Check_return_ __forceinline unsigned char __cdecl _tolower_fast_internal(_In_ unsigned char 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)

Referenced by __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_a().

◆ is_wide_character_specifier()

template<typename Character >
bool __cdecl __crt_stdio_output::is_wide_character_specifier ( uint64_t const  options,
Character const  format_type,
length_modifier const  length 
)
throw (
)

Definition at line 843 of file corecrt_internal_stdio_output.h.

848{
850
851 // If a length specifier was used, use that width:
852 switch (length)
853 {
854 case length_modifier::l: return true;
855 case length_modifier::w: return true;
856 case length_modifier::h: return false;
857 }
858
859 if (length == length_modifier::T)
860 {
861 return sizeof(Character) == sizeof(wchar_t);
862 }
863
864 bool const is_naturally_wide{
865 sizeof(Character) == sizeof(wchar_t) &&
867 };
868
869 bool const is_natural_width{
870 format_type == 'c' ||
871 format_type == 's'
872 };
873
874 return is_naturally_wide == is_natural_width;
875}
#define _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS
format_type
Definition: d3dx9_private.h:49
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325

Referenced by __crt_stdio_output::positional_parameter_base< Character, OutputAdapter >::is_positional_parameter_reappearance_consistent(), __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_c_tchar(), __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_s(), and __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_Z().

◆ peek_va_arg()

template<typename T >
T __crt_stdio_output::peek_va_arg ( va_list  arglist)
throw (
)

Definition at line 53 of file corecrt_internal_stdio_output.h.

54{
55#if defined(__GNUC__) || defined(__clang__)
56 return (T)(va_arg(arglist, typename _va_arg_promoted_tye<T>::type));
57#else
58 return va_arg(arglist, T);
59#endif
60}
#define va_arg(ap, T)
Definition: acmsvcex.h:89
va_lists_t arglist[FMT_ARGMAX+1]
Definition: format.c:284

◆ read_va_arg()

template<typename T >
T __crt_stdio_output::read_va_arg ( va_list arglist)
throw (
)

Definition at line 43 of file corecrt_internal_stdio_output.h.

44{
45#if defined(__GNUC__) || defined(__clang__)
46 return (T)(va_arg(arglist, typename _va_arg_promoted_tye<T>::type));
47#else
48 return va_arg(arglist, T);
49#endif
50}

◆ to_integer_size()

size_t __cdecl __crt_stdio_output::to_integer_size ( length_modifier const  length)
throw (
)
inline

Definition at line 823 of file corecrt_internal_stdio_output.h.

824{
825 switch (length)
826 {
827 case length_modifier::none: return sizeof(int );
828 case length_modifier::hh: return sizeof(char );
829 case length_modifier::h: return sizeof(short );
830 case length_modifier::l: return sizeof(long );
831 case length_modifier::ll: return sizeof(long long);
832 case length_modifier::j: return sizeof(intmax_t );
833 case length_modifier::z: return sizeof(size_t );
834 case length_modifier::t: return sizeof(ptrdiff_t);
835 case length_modifier::I: return sizeof(void* );
836 case length_modifier::I32: return sizeof(int32_t );
837 case length_modifier::I64: return sizeof(int64_t );
838 default: return 0;
839 }
840}
unsigned char
Definition: typeof.h:29
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
__kernel_size_t size_t
Definition: linux.h:237
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
__MINGW_EXTENSION typedef long long intmax_t
Definition: stdint.h:68
#define int32_t
Definition: nsiface.idl:56
#define int64_t
Definition: nsiface.idl:57
#define long
Definition: qsort.c:33

Referenced by __crt_stdio_output::positional_parameter_base< Character, OutputAdapter >::is_positional_parameter_reappearance_consistent(), __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_integer(), and __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::type_case_n().

◆ write_multiple_characters()

template<typename OutputAdapter , typename Character >
__forceinline void __crt_stdio_output::write_multiple_characters ( OutputAdapter const adapter,
Character const  c,
int const  count,
int *const  count_written,
__crt_cached_ptd_host &  ptd 
)
throw (
)

Definition at line 334 of file corecrt_internal_stdio_output.h.

341{
342 for (int i{0}; i < count; ++i)
343 {
344 adapter.write_character(c, count_written, ptd);
345 if (*count_written == -1)
346 break;
347 }
348}
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
Definition: cvt.cpp:355
return adapter
GLuint GLuint GLsizei count
Definition: gl.h:1545
const GLubyte * c
Definition: glext.h:8905
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
Definition: glfuncs.h:248

Referenced by __crt_stdio_output::output_processor< Character, OutputAdapter, ProcessorBase >::state_case_type().