Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_RECORDSERIALIZATION_H
10 #define LLVM_DEBUGINFO_CODEVIEW_RECORDSERIALIZATION_H
85 template <
typename T,
typename U>
107 while (!Reader.
empty() && Reader.
peek() < LF_PAD0) {
125 "Null terminated string is empty!");
127 while (Reader.
peek() != 0) {
133 return Reader.
skip(1);
160 template <
typename T,
typename U>
165 inline serialize_null_term_string_array_impl
170 template <
typename T>
175 template <
typename T>
184 template <
typename T,
typename U>
190 template <
typename T,
typename U>
201 template <
typename T>
207 template <
typename T>
213 template <
typename T>
219 template <
typename T,
typename U,
typename...
Args>
223 return consume(Reader,
Y, std::forward<Args>(Rest)...);
This is an optimization pass for GlobalISel generic memory operations.
std::vector< StringRef > & Item
OptimizedStructLayoutField Field
Error skip(uint64_t Amount)
Advance the stream's offset by Amount bytes.
Error deserialize(BinaryStreamReader &Reader) const
static ErrorSuccess success()
Create a success value.
serialize_arrayref_tail_impl(ArrayRef< T > &Item)
serialize_vector_tail_impl< T > serialize_array_tail(std::vector< T > &Item)
uint64_t bytesRemaining() const
serialize_conditional_impl< T, U > serialize_conditional(T &Item, U Func)
static GCMetadataPrinterRegistry::Add< OcamlGCMetadataPrinter > Y("ocaml", "ocaml 3.10-compatible collector")
An arbitrary precision integer that knows its signedness.
serialize_numeric_impl(T &Item)
Error deserialize(BinaryStreamReader &Reader) const
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
Provides read only access to a subclass of BinaryStream.
detail::packed_endian_specific_integral< uint32_t, little, unaligned > ulittle32_t
serialize_array_impl< T, U > serialize_array(ArrayRef< T > &Item, U Func)
detail::packed_endian_specific_integral< uint16_t, little, unaligned > ulittle16_t
serialize_null_term_string_array_impl(std::vector< StringRef > &Item)
Error deserialize(BinaryStreamReader &Reader) const
Error readCString(StringRef &Dest)
Read a null terminated string from Dest.
StringRef getBytesAsCString(ArrayRef< uint8_t > LeafData)
serialize_conditional_impl(T &Item, U Func)
Error readObject(const T *&Dest)
Get a pointer to an object of type T from the underlying stream, as if by memcpy, and store the resul...
Error consume(BinaryStreamReader &Reader)
StringRef - Represent a constant reference to a string, i.e.
serialize_null_term_string_array_impl serialize_null_term_string_array(std::vector< StringRef > &Item)
serialize_vector_tail_impl(std::vector< T > &Item)
serialize_array_impl(ArrayRef< T > &Item, U Func)
serialize_numeric_impl< T > serialize_numeric(T &Item)
Error deserialize(BinaryStreamReader &Reader) const
Lightweight error class with error context and mandatory checking.
detail::packed_endian_specific_integral< int32_t, little, unaligned > little32_t
RecordPrefix(uint16_t Kind)
Error deserialize(BinaryStreamReader &Reader) const
StringRef getBytesAsCharacters(ArrayRef< uint8_t > LeafData)
Reinterpret a byte array as an array of characters.
Error deserialize(BinaryStreamReader &Reader) const
uint8_t peek() const
Examine the next byte of the underlying stream without advancing the stream's offset.
constexpr char Args[]
Key for Kernel::Metadata::mArgs.
Error consume_numeric(BinaryStreamReader &Reader, uint64_t &Value)
Decodes a numeric leaf value that is known to be a particular type.
LLVM Value Representation.
Error readArray(ArrayRef< T > &Array, uint32_t NumElements)
Get a reference to a NumElements element array of objects of type T from the underlying stream as if ...