ReactOS 0.4.16-dev-822-gbcedb53
__crt_stdio_output::standard_base< Character, OutputAdapter > Class Template Reference

#include <corecrt_internal_stdio_output.h>

Inheritance diagram for __crt_stdio_output::standard_base< Character, OutputAdapter >:
Collaboration diagram for __crt_stdio_output::standard_base< Character, OutputAdapter >:

Protected Types

using common_data_base = typename output_adapter_data< Character, OutputAdapter >::template common_data< Character >
 

Protected Member Functions

template<typename... Ts>
 standard_base (Ts &&... arguments) throw ()
 
bool advance_to_next_pass () throw ()
 
__forceinline bool validate_and_update_state_at_end_of_format_string () const throw ()
 
bool should_format () throw ()
 
template<typename RequestedParameterType , typename ActualParameterType >
bool extract_argument_from_va_list (ActualParameterType &result) throw ()
 
bool update_field_width () throw ()
 
bool update_precision () throw ()
 
bool validate_state_for_type_case_a () const throw ()
 
bool should_skip_normal_state_processing () throw ()
 
bool validate_and_update_state_at_beginning_of_format_character () throw ()
 
bool should_skip_type_state_output () const throw ()
 
- Protected Member Functions inherited from __crt_stdio_output::output_adapter_data< Character, OutputAdapter >
 output_adapter_data (OutputAdapter const &output_adapter, uint64_t const options, Character const *const format, __crt_cached_ptd_host &ptd, va_list const arglist) throw ()
 
- Protected Member Functions inherited from __crt_stdio_output::common_data< Character >
 common_data (__crt_cached_ptd_host &ptd)
 
char *& tchar_string (char) throw ()
 
wchar_t *& tchar_string (wchar_t) throw ()
 
Character *& tchar_string () throw ()
 

Static Protected Member Functions

static unsigned state_count () throw ()
 
static printf_state_transition_table conststate_transition_table () throw ()
 

Private Types

enum class  pass : unsigned { not_started , output , finished }
 

Private Attributes

pass _current_pass
 

Additional Inherited Members

- Protected Attributes inherited from __crt_stdio_output::output_adapter_data< Character, OutputAdapter >
OutputAdapter _output_adapter
 
- Protected Attributes inherited from __crt_stdio_output::common_data< Character >
uint64_t _options
 
__crt_cached_ptd_host & _ptd
 
Character const_format_it
 
va_list _valist_it
 
int _characters_written
 
state _state
 
unsigned _flags
 
int _field_width
 
int _precision
 
length_modifier _length
 
bool _suppress_output
 
Character _format_char
 
union {
   char *   _narrow_string
 
   wchar_t *   _wide_string
 
}; 
 
int _string_length
 
bool _string_is_wide
 
formatting_buffer _buffer
 

Detailed Description

template<typename Character, typename OutputAdapter>
class __crt_stdio_output::standard_base< Character, OutputAdapter >

Definition at line 1035 of file corecrt_internal_stdio_output.h.

Member Typedef Documentation

◆ common_data_base

template<typename Character , typename OutputAdapter >
using __crt_stdio_output::standard_base< Character, OutputAdapter >::common_data_base = typename output_adapter_data<Character, OutputAdapter>::template common_data<Character>
protected

Definition at line 1040 of file corecrt_internal_stdio_output.h.

Member Enumeration Documentation

◆ pass

template<typename Character , typename OutputAdapter >
enum class __crt_stdio_output::standard_base::pass : unsigned
strongprivate
Enumerator
not_started 
output 
finished 

Definition at line 1123 of file corecrt_internal_stdio_output.h.

Constructor & Destructor Documentation

◆ standard_base()

template<typename Character , typename OutputAdapter >
template<typename... Ts>
__crt_stdio_output::standard_base< Character, OutputAdapter >::standard_base ( Ts &&...  arguments)
throw (
)
inlineprotected

Definition at line 1046 of file corecrt_internal_stdio_output.h.

1047 : output_adapter_data<Character, OutputAdapter>{arguments... },
1049 {
1050 }

Member Function Documentation

◆ advance_to_next_pass()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::advance_to_next_pass ( )
throw (
)
inlineprotected

Definition at line 1052 of file corecrt_internal_stdio_output.h.

1053 {
1054 _current_pass = static_cast<pass>(static_cast<unsigned>(_current_pass) + 1);
1055 return _current_pass != pass::finished;
1056 }
pass
Definition: typegen.h:25

◆ extract_argument_from_va_list()

template<typename Character , typename OutputAdapter >
template<typename RequestedParameterType , typename ActualParameterType >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::extract_argument_from_va_list ( ActualParameterType &  result)
throw (
)
inlineprotected

Definition at line 1070 of file corecrt_internal_stdio_output.h.

1071 {
1072 result = static_cast<ActualParameterType>(read_va_arg<RequestedParameterType>(_valist_it));
1073
1074 return true;
1075 }
GLuint64EXT * result
Definition: glext.h:11304

◆ should_format()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::should_format ( )
throw (
)
inlineprotected

Definition at line 1064 of file corecrt_internal_stdio_output.h.

1065 {
1066 return true;
1067 }

◆ should_skip_normal_state_processing()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::should_skip_normal_state_processing ( )
throw (
)
inlineprotected

Definition at line 1094 of file corecrt_internal_stdio_output.h.

1095 {
1096 return false;
1097 }

◆ should_skip_type_state_output()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::should_skip_type_state_output ( ) const
throw (
)
inlineprotected

Definition at line 1104 of file corecrt_internal_stdio_output.h.

1105 {
1106 return false;
1107 }

◆ state_count()

template<typename Character , typename OutputAdapter >
static unsigned __crt_stdio_output::standard_base< Character, OutputAdapter >::state_count ( )
throw (
)
inlinestaticprotected

Definition at line 1109 of file corecrt_internal_stdio_output.h.

1110 {
1111 return static_cast<unsigned>(state::type) + 1;
1112 }

◆ state_transition_table()

template<typename Character , typename OutputAdapter >
static printf_state_transition_table const & __crt_stdio_output::standard_base< Character, OutputAdapter >::state_transition_table ( )
throw (
)
inlinestaticprotected

Definition at line 1114 of file corecrt_internal_stdio_output.h.

1115 {
1116 return standard_lookup_table_spectre;
1117 }

◆ update_field_width()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::update_field_width ( )
throw (
)
inlineprotected

◆ update_precision()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::update_precision ( )
throw (
)
inlineprotected

◆ validate_and_update_state_at_beginning_of_format_character()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::validate_and_update_state_at_beginning_of_format_character ( )
throw (
)
inlineprotected

Definition at line 1099 of file corecrt_internal_stdio_output.h.

1100 {
1101 return true;
1102 }

◆ validate_and_update_state_at_end_of_format_string()

template<typename Character , typename OutputAdapter >
__forceinline bool __crt_stdio_output::standard_base< Character, OutputAdapter >::validate_and_update_state_at_end_of_format_string ( ) const
throw (
)
inlineprotected

Definition at line 1058 of file corecrt_internal_stdio_output.h.

1059 {
1060 // No validation is performed in the standard output implementation:
1061 return true;
1062 }

◆ validate_state_for_type_case_a()

template<typename Character , typename OutputAdapter >
bool __crt_stdio_output::standard_base< Character, OutputAdapter >::validate_state_for_type_case_a ( ) const
throw (
)
inlineprotected

Definition at line 1089 of file corecrt_internal_stdio_output.h.

1090 {
1091 return true;
1092 }

Member Data Documentation

◆ _current_pass

template<typename Character , typename OutputAdapter >
pass __crt_stdio_output::standard_base< Character, OutputAdapter >::_current_pass
private

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