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

#include <corecrt_internal_stdio_output.h>

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

Protected Types

using common_data_base = typename standard_base< Character, OutputAdapter >::template output_adapter_data< Character, OutputAdapter >::template common_data< Character >
 
- Protected Types inherited from __crt_stdio_output::standard_base< Character, OutputAdapter >
using common_data_base = typename output_adapter_data< Character, OutputAdapter >::template common_data< Character >
 

Protected Member Functions

template<typename... Ts>
 format_validation_base (Ts &&... arguments) throw ()
 
__forceinline bool validate_and_update_state_at_end_of_format_string () throw ()
 
- Protected Member Functions inherited from __crt_stdio_output::standard_base< Character, OutputAdapter >
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 ()
 
- Static Protected Member Functions inherited from __crt_stdio_output::standard_base< Character, OutputAdapter >
static unsigned state_count () throw ()
 
static printf_state_transition_table conststate_transition_table () throw ()
 

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::format_validation_base< Character, OutputAdapter >

Definition at line 1144 of file corecrt_internal_stdio_output.h.

Member Typedef Documentation

◆ common_data_base

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

Definition at line 1149 of file corecrt_internal_stdio_output.h.

Constructor & Destructor Documentation

◆ format_validation_base()

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

Definition at line 1154 of file corecrt_internal_stdio_output.h.

1155 : standard_base<Character, OutputAdapter>{arguments...}
1156 {
1157 }

Member Function Documentation

◆ state_count()

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

Definition at line 1170 of file corecrt_internal_stdio_output.h.

1171 {
1172 return static_cast<unsigned>(state::invalid) + 1;
1173 }

◆ state_transition_table()

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

Definition at line 1175 of file corecrt_internal_stdio_output.h.

1176 {
1177 return format_validation_lookup_table_spectre;
1178 }

◆ validate_and_update_state_at_end_of_format_string()

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

Definition at line 1159 of file corecrt_internal_stdio_output.h.

1160 {
1161 // When we reach the end of the format string, we ensure that the format
1162 // string is not incomplete. I.e., when we are finished, the lsat thing
1163 // that we should have encountered is a regular character to be written
1164 // or a type specifier. Otherwise, the format string was incomplete.
1166
1167 return true;
1168 }
#define EINVAL
Definition: acclib.h:90
#define _UCRT_VALIDATE_RETURN(ptd, expr, errorcode, retexpr)

Referenced by __crt_stdio_output::positional_parameter_base< Character, OutputAdapter >::validate_and_update_state_at_end_of_format_string().


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