clang 20.0.0git
Public Types | Public Member Functions | Protected Member Functions | List of all members
clang::ObjCProtocolQualifiers< T > Class Template Reference

This class wraps the list of protocol qualifiers. More...

#include "clang/AST/Type.h"

Inheritance diagram for clang::ObjCProtocolQualifiers< T >:
Inheritance graph
[legend]

Public Types

using qual_iterator = ObjCProtocolDecl *const *
 
using qual_range = llvm::iterator_range< qual_iterator >
 

Public Member Functions

qual_range quals () const
 
qual_iterator qual_begin () const
 
qual_iterator qual_end () const
 
bool qual_empty () const
 
unsigned getNumProtocols () const
 Return the number of qualifying protocols in this type, or 0 if there are none.
 
ObjCProtocolDeclgetProtocol (unsigned I) const
 Fetch a protocol by index.
 
ArrayRef< ObjCProtocolDecl * > getProtocols () const
 Retrieve all of the protocol qualifiers.
 

Protected Member Functions

 ObjCProtocolQualifiers ()=default
 
ObjCProtocolDecl *const * getProtocolStorage () const
 
ObjCProtocolDecl ** getProtocolStorage ()
 
void setNumProtocols (unsigned N)
 
void initialize (ArrayRef< ObjCProtocolDecl * > protocols)
 

Detailed Description

template<class T>
class clang::ObjCProtocolQualifiers< T >

This class wraps the list of protocol qualifiers.

For types that can take ObjC protocol qualifers, they can subclass this class.

Definition at line 7014 of file Type.h.

Member Typedef Documentation

◆ qual_iterator

template<class T >
using clang::ObjCProtocolQualifiers< T >::qual_iterator = ObjCProtocolDecl * const *

Definition at line 7040 of file Type.h.

◆ qual_range

template<class T >
using clang::ObjCProtocolQualifiers< T >::qual_range = llvm::iterator_range<qual_iterator>

Definition at line 7041 of file Type.h.

Constructor & Destructor Documentation

◆ ObjCProtocolQualifiers()

template<class T >
clang::ObjCProtocolQualifiers< T >::ObjCProtocolQualifiers ( )
protecteddefault

Member Function Documentation

◆ getNumProtocols()

template<class T >
unsigned clang::ObjCProtocolQualifiers< T >::getNumProtocols ( ) const
inline

Return the number of qualifying protocols in this type, or 0 if there are none.

Definition at line 7051 of file Type.h.

References clang::T.

Referenced by clang::ASTContext::canAssignObjCInterfaces(), clang::ObjCTypeParamTypeLoc::getNumProtocols(), and clang::ObjCObjectTypeLoc::getNumProtocols().

◆ getProtocol()

template<class T >
ObjCProtocolDecl * clang::ObjCProtocolQualifiers< T >::getProtocol ( unsigned  I) const
inline

Fetch a protocol by index.

Definition at line 7056 of file Type.h.

◆ getProtocols()

template<class T >
ArrayRef< ObjCProtocolDecl * > clang::ObjCProtocolQualifiers< T >::getProtocols ( ) const
inline

Retrieve all of the protocol qualifiers.

Definition at line 7062 of file Type.h.

◆ getProtocolStorage() [1/2]

template<class T >
ObjCProtocolDecl ** clang::ObjCProtocolQualifiers< T >::getProtocolStorage ( )
inlineprotected

Definition at line 7022 of file Type.h.

References clang::T.

◆ getProtocolStorage() [2/2]

template<class T >
ObjCProtocolDecl *const * clang::ObjCProtocolQualifiers< T >::getProtocolStorage ( ) const
inlineprotected

Definition at line 7018 of file Type.h.

◆ initialize()

template<class T >
void clang::ObjCProtocolQualifiers< T >::initialize ( ArrayRef< ObjCProtocolDecl * >  protocols)
inlineprotected

Definition at line 7030 of file Type.h.

References memcpy().

◆ qual_begin()

template<class T >
qual_iterator clang::ObjCProtocolQualifiers< T >::qual_begin ( ) const
inline

◆ qual_empty()

template<class T >
bool clang::ObjCProtocolQualifiers< T >::qual_empty ( ) const
inline

Definition at line 7047 of file Type.h.

Referenced by clang::SemaObjC::CheckObjCForCollectionOperand().

◆ qual_end()

template<class T >
qual_iterator clang::ObjCProtocolQualifiers< T >::qual_end ( ) const
inline

Definition at line 7045 of file Type.h.

Referenced by clang::ASTContext::applyObjCProtocolQualifiers().

◆ quals()

template<class T >
qual_range clang::ObjCProtocolQualifiers< T >::quals ( ) const
inline

◆ setNumProtocols()

template<class T >
void clang::ObjCProtocolQualifiers< T >::setNumProtocols ( unsigned  N)
inlineprotected

Definition at line 7026 of file Type.h.

References clang::T.


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