ReactOS 0.4.16-dev-1133-g947c03e
__crt_stdio_input::stream_input_adapter< Character > Class Template Reference

#include <corecrt_internal_stdio_input.h>

Collaboration diagram for __crt_stdio_input::stream_input_adapter< Character >:

Public Types

using traits = __acrt_stdio_char_traits< Character >
 
using char_type = Character
 
using int_type = typename traits::int_type
 

Public Member Functions

 stream_input_adapter (FILE *const public_stream) throw ()
 
bool validate () const throw ()
 
int_type get () throw ()
 
void unget (int_type const c) throw ()
 
size_t characters_read () const throw ()
 

Private Attributes

__crt_stdio_stream _stream
 
size_t _characters_read
 

Detailed Description

template<typename Character>
class __crt_stdio_input::stream_input_adapter< Character >

Definition at line 79 of file corecrt_internal_stdio_input.h.

Member Typedef Documentation

◆ char_type

template<typename Character >
using __crt_stdio_input::stream_input_adapter< Character >::char_type = Character

Definition at line 84 of file corecrt_internal_stdio_input.h.

◆ int_type

template<typename Character >
using __crt_stdio_input::stream_input_adapter< Character >::int_type = typename traits::int_type

Definition at line 85 of file corecrt_internal_stdio_input.h.

◆ traits

template<typename Character >
using __crt_stdio_input::stream_input_adapter< Character >::traits = __acrt_stdio_char_traits<Character>

Definition at line 83 of file corecrt_internal_stdio_input.h.

Constructor & Destructor Documentation

◆ stream_input_adapter()

template<typename Character >
__crt_stdio_input::stream_input_adapter< Character >::stream_input_adapter ( FILE *const  public_stream)
throw (
)
inline

Member Function Documentation

◆ characters_read()

template<typename Character >
size_t __crt_stdio_input::stream_input_adapter< Character >::characters_read ( ) const
throw (
)
inline

Definition at line 118 of file corecrt_internal_stdio_input.h.

119 {
120 return _characters_read;
121 }

◆ get()

template<typename Character >
int_type __crt_stdio_input::stream_input_adapter< Character >::get ( )
throw (
)
inline

Definition at line 100 of file corecrt_internal_stdio_input.h.

101 {
102 int_type const c{traits::getc_nolock(_stream.public_stream())};
103 if (c != traits::eof)
105
106 return c;
107 }
const GLubyte * c
Definition: glext.h:8905
#define c
Definition: ke_i.h:80

◆ unget()

template<typename Character >
void __crt_stdio_input::stream_input_adapter< Character >::unget ( int_type const  c)
throw (
)
inline

Definition at line 109 of file corecrt_internal_stdio_input.h.

110 {
111 if (c == traits::eof)
112 return;
113
115 traits::ungettc_nolock(c, _stream.public_stream());
116 }

◆ validate()

template<typename Character >
bool __crt_stdio_input::stream_input_adapter< Character >::validate ( ) const
throw (
)
inline

Definition at line 93 of file corecrt_internal_stdio_input.h.

94 {
96
97 return traits::validate_stream_is_ansi_if_required(_stream.public_stream());
98 }
#define EINVAL
Definition: acclib.h:90
#define _VALIDATE_RETURN(expr, errorcode, retexpr)

Member Data Documentation

◆ _characters_read

◆ _stream


The documentation for this class was generated from the following file: