clang 10.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 >:
[legend]
Collaboration diagram for clang::serialization::DataStreamBasicReader< Impl >:
[legend]

## Public Member Functions
Impl & | find (const char *propertyName)
| Implement property-find by ignoring it. More...
template<class T >
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 ()
NestedNameSpecifier * | readNestedNameSpecifier ()

## 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 | ) |
| inline protected

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:

- include/clang/AST/AbstractBasicReader.h