clang  12.0.0git
Public Member Functions | Protected Member Functions | List of all members
clang::serialization::DataStreamBasicReader< Impl > Class Template Reference

DataStreamBasicReader provides convenience implementations for many BasicReader methods based on the assumption that the ultimate reader implementation is based on a variable-length stream of unstructured data (like Clang's module files). More...

#include "clang/AST/AbstractBasicReader.h"

Inheritance diagram for clang::serialization::DataStreamBasicReader< Impl >:
Inheritance graph
[legend]
Collaboration diagram for clang::serialization::DataStreamBasicReader< Impl >:
Collaboration graph
[legend]

Public Member Functions

Impl & find (const char *propertyName)
 Implement property-find by ignoring it. More...
 
template<class T >
readEnum ()
 
Impl & readObject ()
 
template<class T >
llvm::ArrayRef< T > readArray (llvm::SmallVectorImpl< T > &buffer)
 
template<class T , class... Args>
llvm::Optional< T > readOptional (Args &&...args)
 
llvm::APSInt readAPSInt ()
 
llvm::APInt readAPInt ()
 
Qualifiers readQualifiers ()
 
FunctionProtoType::ExceptionSpecInfo readExceptionSpecInfo (llvm::SmallVectorImpl< QualType > &buffer)
 
FunctionProtoType::ExtParameterInfo readExtParameterInfo ()
 
NestedNameSpecifierreadNestedNameSpecifier ()
 

Protected Member Functions

 DataStreamBasicReader (ASTContext &ctx)
 

Detailed Description

template<class Impl>
class clang::serialization::DataStreamBasicReader< Impl >

DataStreamBasicReader provides convenience implementations for many BasicReader methods based on the assumption that the ultimate reader implementation is based on a variable-length stream of unstructured data (like Clang's module files).

It is designed to pair with DataStreamBasicWriter.

This class can also act as a PropertyReader, implementing find("...") by simply forwarding to itself.

Unimplemented methods: readBool readUInt32 readUInt64 readIdentifier readSelector readSourceLocation readQualType readStmtRef readDeclRef

Definition at line 123 of file AbstractBasicReader.h.

Constructor & Destructor Documentation

◆ DataStreamBasicReader()

template<class Impl>
clang::serialization::DataStreamBasicReader< Impl >::DataStreamBasicReader ( ASTContext ctx)
inlineprotected

Definition at line 126 of file AbstractBasicReader.h.

Member Function Documentation

◆ find()

template<class Impl>
Impl& clang::serialization::DataStreamBasicReader< Impl >::find ( const char *  propertyName)
inline

Implement property-find by ignoring it.

We rely on properties being serialized and deserialized in a reliable order instead.

Definition at line 133 of file AbstractBasicReader.h.

◆ readAPInt()

template<class Impl>
llvm::APInt clang::serialization::DataStreamBasicReader< Impl >::readAPInt ( )
inline

Definition at line 171 of file AbstractBasicReader.h.

◆ readAPSInt()

template<class Impl>
llvm::APSInt clang::serialization::DataStreamBasicReader< Impl >::readAPSInt ( )
inline

Definition at line 165 of file AbstractBasicReader.h.

◆ readArray()

template<class Impl>
template<class T >
llvm::ArrayRef<T> clang::serialization::DataStreamBasicReader< Impl >::readArray ( llvm::SmallVectorImpl< T > &  buffer)
inline

Definition at line 147 of file AbstractBasicReader.h.

◆ readEnum()

template<class Impl>
template<class T >
T clang::serialization::DataStreamBasicReader< Impl >::readEnum ( )
inline

Definition at line 138 of file AbstractBasicReader.h.

◆ readExceptionSpecInfo()

template<class Impl>
FunctionProtoType::ExceptionSpecInfo clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo ( llvm::SmallVectorImpl< QualType > &  buffer)
inline

Definition at line 188 of file AbstractBasicReader.h.

◆ readExtParameterInfo()

template<class Impl>
FunctionProtoType::ExtParameterInfo clang::serialization::DataStreamBasicReader< Impl >::readExtParameterInfo ( )
inline

Definition at line 204 of file AbstractBasicReader.h.

◆ readNestedNameSpecifier()

template<class Impl>
NestedNameSpecifier* clang::serialization::DataStreamBasicReader< Impl >::readNestedNameSpecifier ( )
inline

Definition at line 212 of file AbstractBasicReader.h.

◆ readObject()

template<class Impl>
Impl& clang::serialization::DataStreamBasicReader< Impl >::readObject ( )
inline

Definition at line 144 of file AbstractBasicReader.h.

◆ readOptional()

template<class Impl>
template<class T , class... Args>
llvm::Optional<T> clang::serialization::DataStreamBasicReader< Impl >::readOptional ( Args &&...  args)
inline

Definition at line 160 of file AbstractBasicReader.h.

◆ readQualifiers()

template<class Impl>
Qualifiers clang::serialization::DataStreamBasicReader< Impl >::readQualifiers ( )
inline

Definition at line 180 of file AbstractBasicReader.h.


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