ReactOS 0.4.16-dev-747-gbc52d5f
__crt_stdio_input Namespace Reference

Classes

class  console_input_adapter
 
class  format_string_parser
 
class  input_processor
 
class  scanset_buffer
 
class  scanset_storage
 
class  scanset_storage< sizeof(char)>
 
class  scanset_storage< sizeof(wchar_t)>
 
class  stream_input_adapter
 
class  string_input_adapter
 
struct  uintn_t_impl
 
struct  uintn_t_impl< 4 >
 
struct  uintn_t_impl< 8 >
 

Typedefs

template<size_t N>
using uintn_t = typename uintn_t_impl< N >::type
 

Enumerations

enum class  format_directive_kind {
  unknown_error , end_of_string , whitespace , literal_character ,
  conversion_specifier
}
 
enum class  length_modifier {
  none , hh , h , l ,
  ll , j , z , t ,
  L , I32 , I64 , T ,
  enumerator_count
}
 
enum class  conversion_mode {
  character , string , signed_unknown , signed_decimal ,
  unsigned_octal , unsigned_decimal , unsigned_hexadecimal , floating_point ,
  scanset , report_character_count , enumerator_count
}
 

Functions

template<template< typename > class InputAdapter, typename Character >
__acrt_stdio_char_traits< Character >::int_type __cdecl skip_whitespace (InputAdapter< Character > &adapter, _locale_t const locale)
 
size_t __cdecl to_integer_length (length_modifier const length) throw ()
 
size_t __cdecl to_floating_point_length (length_modifier const length) throw ()
 
bool __cdecl is_length_valid (conversion_mode const mode, length_modifier const length) throw ()
 

Typedef Documentation

◆ uintn_t

Definition at line 448 of file corecrt_internal_stdio_input.h.

Enumeration Type Documentation

◆ conversion_mode

Enumerator
character 
string 
signed_unknown 
signed_decimal 
unsigned_octal 
unsigned_decimal 
unsigned_hexadecimal 
floating_point 
scanset 
report_character_count 
enumerator_count 

Definition at line 401 of file corecrt_internal_stdio_input.h.

◆ format_directive_kind

Enumerator
unknown_error 
end_of_string 
whitespace 
literal_character 
conversion_specifier 

Definition at line 340 of file corecrt_internal_stdio_input.h.

◆ length_modifier

Enumerator
none 
hh 
ll 
I32 
I64 
enumerator_count 

Definition at line 349 of file corecrt_internal_stdio_input.h.

350{
351 none,
352 hh,
353 h,
354 l,
355 ll,
356 j,
357 z,
358 t,
359 L,
360 I32,
361 I64,
362 T,
364};
#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
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 T
Definition: mbstring.h:31
#define L(x)
Definition: ntvdm.h:50

Function Documentation

◆ is_length_valid()

bool __cdecl __crt_stdio_input::is_length_valid ( conversion_mode const  mode,
length_modifier const  length 
)
throw (
)
inline

Definition at line 421 of file corecrt_internal_stdio_input.h.

422{
423 static unsigned char const constraints
424 [static_cast<size_t>(conversion_mode::enumerator_count)]
425 [static_cast<size_t>(length_modifier::enumerator_count)]
426 {
427 /* none hh h l ll j z t L I32 I64 T */
428 /* character */ { 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 , 1 , 0 , 0 , 1 },
429 /* string */ { 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 , 1 , 0 , 0 , 1 },
430 /* signed decimal */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 },
431 /* signed unknown */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 },
432 /* unsigned octal */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 },
433 /* unsigned decimal */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 },
434 /* unsigned hexadecimal */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 },
435 /* floating point */ { 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 },
436 /* scanset */ { 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 },
437 /* report character count */ { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 0 }
438 };
439
440 return constraints[static_cast<size_t>(mode)][static_cast<size_t>(length)] != 0;
441}
GLenum mode
Definition: glext.h:6217
GLuint GLsizei GLsizei * length
Definition: glext.h:6040

Referenced by __crt_stdio_input::format_string_parser< Character >::advance().

◆ skip_whitespace()

template<template< typename > class InputAdapter, typename Character >
__acrt_stdio_char_traits< Character >::int_type __cdecl __crt_stdio_input::skip_whitespace ( InputAdapter< Character > &  adapter,
_locale_t const  locale 
)

Definition at line 195 of file corecrt_internal_stdio_input.h.

199{
201 using char_type = Character;
202 using unsigned_char_type = typename traits::unsigned_char_type;
203 using int_type = typename traits::int_type;
204
205 int_type c;
206
207 do
208 {
209 c = adapter.get();
210
211 if (c == traits::eof)
212 break;
213 }
214 while (__crt_strtox::is_space(static_cast<char_type>(c), locale));
215
216 return c;
217}
Definition: _locale.h:75
return adapter
const GLubyte * c
Definition: glext.h:8905
#define c
Definition: ke_i.h:80
__forceinline bool __cdecl is_space(char const c, _locale_t const locale)

◆ to_floating_point_length()

size_t __cdecl __crt_stdio_input::to_floating_point_length ( length_modifier const  length)
throw (
)
inline

Definition at line 387 of file corecrt_internal_stdio_input.h.

388{
389 switch (length)
390 {
391 case length_modifier::none: return sizeof(float );
392 case length_modifier::l: return sizeof(double );
393 case length_modifier::L: return sizeof(long double);
394
395 default:
396 _ASSERTE(("Unexpected length specifier", false));
397 return 0;
398 }
399}
#define _ASSERTE(expr)
Definition: crtdbg.h:114
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
Definition: string.c:89
static float(__cdecl *square_half_float)(float x

Referenced by __crt_stdio_input::format_string_parser< Character >::length().

◆ to_integer_length()

size_t __cdecl __crt_stdio_input::to_integer_length ( length_modifier const  length)
throw (
)
inline

Definition at line 366 of file corecrt_internal_stdio_input.h.

367{
368 switch (length)
369 {
370 case length_modifier::none: return sizeof(int );
371 case length_modifier::hh: return sizeof(char );
372 case length_modifier::h: return sizeof(short );
373 case length_modifier::l: return sizeof(long );
374 case length_modifier::ll: return sizeof(long long);
375 case length_modifier::j: return sizeof(intmax_t );
376 case length_modifier::z: return sizeof(size_t );
377 case length_modifier::t: return sizeof(ptrdiff_t);
378 case length_modifier::I32: return sizeof(int32_t );
379 case length_modifier::I64: return sizeof(int64_t );
380
381 default:
382 _ASSERTE(("Unexpected length specifier", false));
383 return 0;
384 }
385}
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_input::format_string_parser< Character >::length().