GCC Middle and Back End API Reference
gcc::diagnostics_output_spec::output_factory::scheme_handler Class Referenceabstract
Inheritance diagram for gcc::diagnostics_output_spec::output_factory::scheme_handler:

Public Member Functions

 scheme_handler (std::string scheme_name)
 
virtual ~scheme_handler ()
 
const std::string & get_scheme_name () const
 
virtual std::unique_ptr< diagnostic_output_formatmake_sink (const context &ctxt, const char *unparsed_arg, const scheme_name_and_params &parsed_arg) const =0
 

Protected Member Functions

bool parse_bool_value (const context &ctxt, const char *unparsed_arg, const std::string &key, const std::string &value, bool &out) const
 
template<typename EnumType , size_t NumValues>
bool parse_enum_value (const context &ctxt, const char *unparsed_arg, const std::string &key, const std::string &value, const std::array< std::pair< const char *, EnumType >, NumValues > &value_names, EnumType &out) const
 

Private Attributes

const std::string m_scheme_name
 

Constructor & Destructor Documentation

◆ scheme_handler()

gcc::diagnostics_output_spec::output_factory::scheme_handler::scheme_handler ( std::string scheme_name)
inline

◆ ~scheme_handler()

virtual gcc::diagnostics_output_spec::output_factory::scheme_handler::~scheme_handler ( )
inlinevirtual

Member Function Documentation

◆ get_scheme_name()

const std::string & gcc::diagnostics_output_spec::output_factory::scheme_handler::get_scheme_name ( ) const
inline

◆ make_sink()

virtual std::unique_ptr< diagnostic_output_format > gcc::diagnostics_output_spec::output_factory::scheme_handler::make_sink ( const context & ctxt,
const char * unparsed_arg,
const scheme_name_and_params & parsed_arg ) const
pure virtual

◆ parse_bool_value()

bool gcc::diagnostics_output_spec::output_factory::scheme_handler::parse_bool_value ( const context & ctxt,
const char * unparsed_arg,
const std::string & key,
const std::string & value,
bool & out ) const
inlineprotected

◆ parse_enum_value()

template<typename EnumType , size_t NumValues>
bool gcc::diagnostics_output_spec::output_factory::scheme_handler::parse_enum_value ( const context & ctxt,
const char * unparsed_arg,
const std::string & key,
const std::string & value,
const std::array< std::pair< const char *, EnumType >, NumValues > & value_names,
EnumType & out ) const
inlineprotected

Field Documentation

◆ m_scheme_name

const std::string gcc::diagnostics_output_spec::output_factory::scheme_handler::m_scheme_name
private

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