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

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

#include "clang/AST/AbstractBasicWriter.h"

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

Public Member Functions

Impl & find (const char *propertyName)
 Implement property-find by ignoring it.
 
Impl & writeObject ()
 
template<class T >
void writeEnum (T value)
 
template<class T >
void writeArray (llvm::ArrayRef< T > array)
 
template<class T >
void writeOptional (std::optional< T > value)
 
void writeAPSInt (const llvm::APSInt &value)
 
void writeAPInt (const llvm::APInt &value)
 
void writeFixedPointSemantics (const llvm::FixedPointSemantics &sema)
 
void writeLValuePathSerializationHelper (APValue::LValuePathSerializationHelper lvaluePath)
 
void writeQualifiers (Qualifiers value)
 
void writeExceptionSpecInfo (const FunctionProtoType::ExceptionSpecInfo &esi)
 
void writeExtParameterInfo (FunctionProtoType::ExtParameterInfo epi)
 
void writeNestedNameSpecifier (NestedNameSpecifier *NNS)
 

Protected Member Functions

 DataStreamBasicWriter (ASTContext &ctx)
 

Detailed Description

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

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

It is designed to pair with DataStreamBasicReader.

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

Unimplemented methods: writeBool writeUInt32 writeUInt64 writeIdentifier writeSelector writeSourceLocation writeQualType writeStmtRef writeDeclRef

Definition at line 120 of file AbstractBasicWriter.h.

Constructor & Destructor Documentation

◆ DataStreamBasicWriter()

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

Definition at line 123 of file AbstractBasicWriter.h.

Member Function Documentation

◆ find()

template<class Impl >
Impl & clang::serialization::DataStreamBasicWriter< 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 128 of file AbstractBasicWriter.h.

◆ writeAPInt()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeAPInt ( const llvm::APInt &  value)
inline

Definition at line 158 of file AbstractBasicWriter.h.

◆ writeAPSInt()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeAPSInt ( const llvm::APSInt &  value)
inline

Definition at line 153 of file AbstractBasicWriter.h.

◆ writeArray()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeArray ( llvm::ArrayRef< T array)
inline

Definition at line 142 of file AbstractBasicWriter.h.

References clang::T.

◆ writeEnum()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeEnum ( T  value)
inline

Definition at line 137 of file AbstractBasicWriter.h.

◆ writeExceptionSpecInfo()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo ( const FunctionProtoType::ExceptionSpecInfo esi)
inline

◆ writeExtParameterInfo()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeExtParameterInfo ( FunctionProtoType::ExtParameterInfo  epi)
inline

◆ writeFixedPointSemantics()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeFixedPointSemantics ( const llvm::FixedPointSemantics &  sema)
inline

Definition at line 165 of file AbstractBasicWriter.h.

◆ writeLValuePathSerializationHelper()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeLValuePathSerializationHelper ( APValue::LValuePathSerializationHelper  lvaluePath)
inline

◆ writeNestedNameSpecifier()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeNestedNameSpecifier ( NestedNameSpecifier NNS)
inline

◆ writeObject()

template<class Impl >
Impl & clang::serialization::DataStreamBasicWriter< Impl >::writeObject ( )
inline

Definition at line 134 of file AbstractBasicWriter.h.

◆ writeOptional()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeOptional ( std::optional< T value)
inline

Definition at line 149 of file AbstractBasicWriter.h.

◆ writeQualifiers()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeQualifiers ( Qualifiers  value)
inline

Definition at line 198 of file AbstractBasicWriter.h.

References clang::Qualifiers::getAsOpaqueValue().


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