LLVM 22.0.0git
AbstractManglingParser< Derived, Alloc >::OperatorInfo Struct Reference

#include "llvm/Demangle/ItaniumDemangle.h"

Public Types

enum  OIKind : unsigned char {
  Prefix , Postfix , Binary , Array ,
  Member , New , Del , Call ,
  CCast , Conditional , NameOnly , NamedCast ,
  OfIdOp , Unnameable = NamedCast
}

Public Member Functions

constexpr OperatorInfo (const char(&E)[3], OIKind K, bool F, Node::Prec P, const char *N)
bool operator< (const OperatorInfo &Other) const
bool operator< (const char *Peek) const
bool operator== (const char *Peek) const
bool operator!= (const char *Peek) const
std::string_view getSymbol () const
std::string_view getName () const
OIKind getKind () const
bool getFlag () const
Node::Prec getPrecedence () const

Public Attributes

char Enc [2]
OIKind Kind
bool Flag: 1
Node::Prec Prec: 7
const charName

Detailed Description

template<typename Derived, typename Alloc>
struct AbstractManglingParser< Derived, Alloc >::OperatorInfo

Definition at line 2978 of file ItaniumDemangle.h.

Member Enumeration Documentation

◆ OIKind

template<typename Derived, typename Alloc>
enum AbstractManglingParser::OperatorInfo::OIKind : unsigned char
Enumerator
Prefix 
Postfix 
Binary 
Array 
Member 
New 
Del 
Call 
CCast 
Conditional 
NameOnly 
NamedCast 
OfIdOp 
Unnameable 

Definition at line 2979 of file ItaniumDemangle.h.

Constructor & Destructor Documentation

◆ OperatorInfo()

template<typename Derived, typename Alloc>
AbstractManglingParser< Derived, Alloc >::OperatorInfo::OperatorInfo ( const char(&) E[3],
OIKind K,
bool F,
Node::Prec P,
const char * N )
inlineconstexpr

Definition at line 3004 of file ItaniumDemangle.h.

References E(), Enc, F, Flag, Kind, N, Name, P, and Prec.

Referenced by operator<().

Member Function Documentation

◆ getFlag()

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::getFlag ( ) const
inline

Definition at line 3034 of file ItaniumDemangle.h.

References Flag.

◆ getKind()

template<typename Derived, typename Alloc>
OIKind AbstractManglingParser< Derived, Alloc >::OperatorInfo::getKind ( ) const
inline

Definition at line 3033 of file ItaniumDemangle.h.

References Kind.

◆ getName()

template<typename Derived, typename Alloc>
std::string_view AbstractManglingParser< Derived, Alloc >::OperatorInfo::getName ( ) const
inline

Definition at line 3032 of file ItaniumDemangle.h.

References Name.

◆ getPrecedence()

template<typename Derived, typename Alloc>
Node::Prec AbstractManglingParser< Derived, Alloc >::OperatorInfo::getPrecedence ( ) const
inline

Definition at line 3035 of file ItaniumDemangle.h.

References Prec.

◆ getSymbol()

template<typename Derived, typename Alloc>
std::string_view AbstractManglingParser< Derived, Alloc >::OperatorInfo::getSymbol ( ) const
inline

Definition at line 3021 of file ItaniumDemangle.h.

References DEMANGLE_ASSERT, Kind, Name, starts_with(), and Unnameable.

◆ operator!=()

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::operator!= ( const char * Peek) const
inline

Definition at line 3018 of file ItaniumDemangle.h.

References operator==().

◆ operator<() [1/2]

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::operator< ( const char * Peek) const
inline

Definition at line 3012 of file ItaniumDemangle.h.

References Enc.

◆ operator<() [2/2]

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::operator< ( const OperatorInfo & Other) const
inline

Definition at line 3009 of file ItaniumDemangle.h.

References OperatorInfo().

◆ operator==()

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::operator== ( const char * Peek) const
inline

Definition at line 3015 of file ItaniumDemangle.h.

References Enc.

Referenced by operator!=().

Member Data Documentation

◆ Enc

template<typename Derived, typename Alloc>
char AbstractManglingParser< Derived, Alloc >::OperatorInfo::Enc[2]

Definition at line 2997 of file ItaniumDemangle.h.

Referenced by operator<(), operator==(), and OperatorInfo().

◆ Flag

template<typename Derived, typename Alloc>
bool AbstractManglingParser< Derived, Alloc >::OperatorInfo::Flag

Definition at line 2999 of file ItaniumDemangle.h.

Referenced by getFlag(), and OperatorInfo().

◆ Kind

template<typename Derived, typename Alloc>
OIKind AbstractManglingParser< Derived, Alloc >::OperatorInfo::Kind

Definition at line 2998 of file ItaniumDemangle.h.

Referenced by getKind(), getSymbol(), and OperatorInfo().

◆ Name

template<typename Derived, typename Alloc>
const char* AbstractManglingParser< Derived, Alloc >::OperatorInfo::Name

Definition at line 3001 of file ItaniumDemangle.h.

Referenced by getName(), getSymbol(), and OperatorInfo().

◆ Prec

template<typename Derived, typename Alloc>
Node::Prec AbstractManglingParser< Derived, Alloc >::OperatorInfo::Prec

Definition at line 3000 of file ItaniumDemangle.h.

Referenced by getPrecedence(), and OperatorInfo().


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