clang 22.0.0git
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 >:
[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 (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 writeFunctionEffect (FunctionEffect E)
void writeEffectConditionExpr (EffectConditionExpr CE)
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 157 of file AbstractBasicWriter.h.

◆ writeAPSInt()

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

Definition at line 152 of file AbstractBasicWriter.h.

◆ writeArray()

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

Definition at line 141 of file AbstractBasicWriter.h.

References clang::T.

◆ writeEffectConditionExpr()

template<class Impl>
void clang::serialization::DataStreamBasicWriter< Impl >::writeEffectConditionExpr ( EffectConditionExpr CE)
inline

Definition at line 228 of file AbstractBasicWriter.h.

References clang::EffectConditionExpr::getCondition().

◆ writeEnum()

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

Definition at line 137 of file AbstractBasicWriter.h.

References clang::T.

◆ writeExceptionSpecInfo()

◆ 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 164 of file AbstractBasicWriter.h.

◆ writeFunctionEffect()

template<class Impl>
void clang::serialization::DataStreamBasicWriter< Impl >::writeFunctionEffect ( FunctionEffect E)
inline

Definition at line 224 of file AbstractBasicWriter.h.

References clang::FunctionEffect::toOpaqueInt32().

◆ writeLValuePathSerializationHelper()

◆ writeNestedNameSpecifier()

◆ 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 148 of file AbstractBasicWriter.h.

◆ writeQualifiers()

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

Definition at line 197 of file AbstractBasicWriter.h.

References clang::Qualifiers::getAsOpaqueValue().


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