LLVM  10.0.0svn
Classes | Public Member Functions | List of all members
llvm::codeview::CodeViewRecordIO Class Reference

#include "llvm/DebugInfo/CodeView/CodeViewRecordIO.h"

Public Member Functions

 CodeViewRecordIO (BinaryStreamReader &Reader)
 
 CodeViewRecordIO (BinaryStreamWriter &Writer)
 
 CodeViewRecordIO (CodeViewRecordStreamer &Streamer)
 
Error beginRecord (Optional< uint32_t > MaxLength)
 
Error endRecord ()
 
Error mapInteger (TypeIndex &TypeInd, const Twine &Comment="")
 
bool isStreaming () const
 
bool isReading () const
 
bool isWriting () const
 
uint32_t maxFieldLength () const
 
template<typename T >
Error mapObject (T &Value)
 
template<typename T >
Error mapInteger (T &Value, const Twine &Comment="")
 
template<typename T >
Error mapEnum (T &Value, const Twine &Comment="")
 
Error mapEncodedInteger (int64_t &Value, const Twine &Comment="")
 
Error mapEncodedInteger (uint64_t &Value, const Twine &Comment="")
 
Error mapEncodedInteger (APSInt &Value, const Twine &Comment="")
 
Error mapStringZ (StringRef &Value, const Twine &Comment="")
 
Error mapGuid (GUID &Guid, const Twine &Comment="")
 
Error mapStringZVectorZ (std::vector< StringRef > &Value, const Twine &Comment="")
 
template<typename SizeType , typename T , typename ElementMapper >
Error mapVectorN (T &Items, const ElementMapper &Mapper, const Twine &Comment="")
 
template<typename T , typename ElementMapper >
Error mapVectorTail (T &Items, const ElementMapper &Mapper, const Twine &Comment="")
 
Error mapByteVectorTail (ArrayRef< uint8_t > &Bytes, const Twine &Comment="")
 
Error mapByteVectorTail (std::vector< uint8_t > &Bytes, const Twine &Comment="")
 
Error padToAlignment (uint32_t Align)
 
Error skipPadding ()
 
uint64_t getStreamedLen ()
 

Detailed Description

Definition at line 39 of file CodeViewRecordIO.h.

Constructor & Destructor Documentation

◆ CodeViewRecordIO() [1/3]

llvm::codeview::CodeViewRecordIO::CodeViewRecordIO ( BinaryStreamReader Reader)
inlineexplicit

Definition at line 51 of file CodeViewRecordIO.h.

◆ CodeViewRecordIO() [2/3]

llvm::codeview::CodeViewRecordIO::CodeViewRecordIO ( BinaryStreamWriter Writer)
inlineexplicit

Definition at line 54 of file CodeViewRecordIO.h.

◆ CodeViewRecordIO() [3/3]

llvm::codeview::CodeViewRecordIO::CodeViewRecordIO ( CodeViewRecordStreamer Streamer)
inlineexplicit

Definition at line 57 of file CodeViewRecordIO.h.

Member Function Documentation

◆ beginRecord()

Error CodeViewRecordIO::beginRecord ( Optional< uint32_t MaxLength)

◆ endRecord()

Error CodeViewRecordIO::endRecord ( )

◆ getStreamedLen()

uint64_t llvm::codeview::CodeViewRecordIO::getStreamedLen ( )
inline

◆ isReading()

bool llvm::codeview::CodeViewRecordIO::isReading ( ) const
inline

Definition at line 68 of file CodeViewRecordIO.h.

Referenced by mapStringZVectorZ(), and padToAlignment().

◆ isStreaming()

bool llvm::codeview::CodeViewRecordIO::isStreaming ( ) const
inline

◆ isWriting()

bool llvm::codeview::CodeViewRecordIO::isWriting ( ) const
inline

◆ mapByteVectorTail() [1/2]

Error CodeViewRecordIO::mapByteVectorTail ( ArrayRef< uint8_t > &  Bytes,
const Twine Comment = "" 
)

◆ mapByteVectorTail() [2/2]

Error CodeViewRecordIO::mapByteVectorTail ( std::vector< uint8_t > &  Bytes,
const Twine Comment = "" 
)

◆ mapEncodedInteger() [1/3]

Error CodeViewRecordIO::mapEncodedInteger ( int64_t &  Value,
const Twine Comment = "" 
)

◆ mapEncodedInteger() [2/3]

Error CodeViewRecordIO::mapEncodedInteger ( uint64_t &  Value,
const Twine Comment = "" 
)

◆ mapEncodedInteger() [3/3]

Error CodeViewRecordIO::mapEncodedInteger ( APSInt Value,
const Twine Comment = "" 
)

◆ mapEnum()

template<typename T >
Error llvm::codeview::CodeViewRecordIO::mapEnum ( T Value,
const Twine Comment = "" 
)
inline

◆ mapGuid()

Error CodeViewRecordIO::mapGuid ( GUID Guid,
const Twine Comment = "" 
)

◆ mapInteger() [1/2]

Error CodeViewRecordIO::mapInteger ( TypeIndex TypeInd,
const Twine Comment = "" 
)

◆ mapInteger() [2/2]

template<typename T >
Error llvm::codeview::CodeViewRecordIO::mapInteger ( T Value,
const Twine Comment = "" 
)
inline

Definition at line 96 of file CodeViewRecordIO.h.

References llvm::Error::success().

◆ mapObject()

template<typename T >
Error llvm::codeview::CodeViewRecordIO::mapObject ( T Value)
inline

Definition at line 77 of file CodeViewRecordIO.h.

References llvm::codeview::EC, and llvm::Error::success().

◆ mapStringZ()

Error CodeViewRecordIO::mapStringZ ( StringRef Value,
const Twine Comment = "" 
)

◆ mapStringZVectorZ()

Error CodeViewRecordIO::mapStringZVectorZ ( std::vector< StringRef > &  Value,
const Twine Comment = "" 
)

◆ mapVectorN()

template<typename SizeType , typename T , typename ElementMapper >
Error llvm::codeview::CodeViewRecordIO::mapVectorN ( T Items,
const ElementMapper &  Mapper,
const Twine Comment = "" 
)
inline

Definition at line 139 of file CodeViewRecordIO.h.

References llvm::codeview::EC, I, Size, llvm::Error::success(), and X.

◆ mapVectorTail()

template<typename T , typename ElementMapper >
Error llvm::codeview::CodeViewRecordIO::mapVectorTail ( T Items,
const ElementMapper &  Mapper,
const Twine Comment = "" 
)
inline

◆ maxFieldLength()

uint32_t CodeViewRecordIO::maxFieldLength ( ) const

◆ padToAlignment()

Error CodeViewRecordIO::padToAlignment ( uint32_t  Align)

◆ skipPadding()

Error CodeViewRecordIO::skipPadding ( )

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