LLVM  14.0.0git
Classes | Namespaces | Functions
Serialization.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ExecutionEngine/Orc/Shared/OrcError.h"
#include "llvm/Support/thread.h"
#include <map>
#include <mutex>
#include <set>
#include <sstream>
#include <string>
#include <vector>
Include dependency graph for Serialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  llvm::orc::shared::SerializationTypeName< T >
class  llvm::orc::shared::SerializationTypeNameSequence< ArgTs >
 TypeNameSequence is a utility for rendering sequences of types to a string by rendering each type, separated by ", ". More...
class  llvm::orc::shared::SerializationTypeName< void >
class  llvm::orc::shared::SerializationTypeName< int8_t >
class  llvm::orc::shared::SerializationTypeName< uint8_t >
class  llvm::orc::shared::SerializationTypeName< int16_t >
class  llvm::orc::shared::SerializationTypeName< uint16_t >
class  llvm::orc::shared::SerializationTypeName< int32_t >
class  llvm::orc::shared::SerializationTypeName< uint32_t >
class  llvm::orc::shared::SerializationTypeName< int64_t >
class  llvm::orc::shared::SerializationTypeName< uint64_t >
class  llvm::orc::shared::SerializationTypeName< bool >
class  llvm::orc::shared::SerializationTypeName< std::string >
class  llvm::orc::shared::SerializationTypeName< Error >
class  llvm::orc::shared::SerializationTypeName< Expected< T > >
class  llvm::orc::shared::SerializationTypeName< std::pair< T1, T2 > >
class  llvm::orc::shared::SerializationTypeName< std::tuple< ArgTs... > >
class  llvm::orc::shared::SerializationTypeName< Optional< T > >
class  llvm::orc::shared::SerializationTypeName< std::vector< T > >
class  llvm::orc::shared::SerializationTypeName< std::set< T > >
class  llvm::orc::shared::SerializationTypeName< std::map< K, V > >
class  llvm::orc::shared::SerializationTraits< ChannelT, WireType, ConcreteType, typename >
 The SerializationTraits<ChannelT, T> class describes how to serialize and deserialize an instance of type T to/from an abstract channel of type ChannelT. More...
class  llvm::orc::shared::SequenceTraits< ChannelT >
class  llvm::orc::shared::SequenceSerialization< ChannelT, ArgTs >
 Utility class for serializing sequences of values of varying types. More...
class  llvm::orc::shared::SequenceSerialization< ChannelT >
class  llvm::orc::shared::SequenceSerialization< ChannelT, ArgT >
class  llvm::orc::shared::SequenceSerialization< ChannelT, ArgT, ArgTs... >
class  llvm::orc::shared::SerializationTraits< ChannelT, Error >
class  llvm::orc::shared::SerializationTraits< ChannelT, Expected< T1 >, Expected< T2 > >
 SerializationTraits for Expected<T1> from an Expected<T2>. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, Expected< T1 >, T2 >
 SerializationTraits for Expected<T1> from a T2. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, Expected< T >, Error >
 SerializationTraits for Expected<T1> from an Error. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, std::pair< T1, T2 >, std::pair< T3, T4 > >
 SerializationTraits default specialization for std::pair. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, std::tuple< ArgTs... > >
 SerializationTraits default specialization for std::tuple. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, Optional< T > >
class  llvm::orc::shared::SerializationTraits< ChannelT, std::vector< T > >
 SerializationTraits default specialization for std::vector. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, std::vector< T >, ArrayRef< T > >
 Enable vector serialization from an ArrayRef. More...
class  llvm::orc::shared::SerializationTraits< ChannelT, std::set< T >, std::set< T2 > >
class  llvm::orc::shared::SerializationTraits< ChannelT, std::map< K, V >, std::map< K2, V2 > >
class  llvm::orc::shared::SerializationTraits< ChannelT, std::map< K, V >, DenseMap< K2, V2 > >


 ---------------------— PointerInfo ------------------------------------—


template<typename OStream >
OStream & llvm::orc::shared::operator<< (OStream &OS, const SerializationTypeNameSequence<> &V)
 Render an empty TypeNameSequence to an ostream. More...
template<typename OStream , typename ArgT >
OStream & llvm::orc::shared::operator<< (OStream &OS, const SerializationTypeNameSequence< ArgT > &V)
 Render a TypeNameSequence of a single type to an ostream. More...
template<typename OStream , typename ArgT1 , typename ArgT2 , typename... ArgTs>
OStream & llvm::orc::shared::operator<< (OStream &OS, const SerializationTypeNameSequence< ArgT1, ArgT2, ArgTs... > &V)
 Render a TypeNameSequence of more than one type to an ostream. More...
template<typename ChannelT , typename... ArgTs>
Error llvm::orc::shared::serializeSeq (ChannelT &C, ArgTs &&...Args)
template<typename ChannelT , typename... ArgTs>
Error llvm::orc::shared::deserializeSeq (ChannelT &C, ArgTs &...Args)
template<typename ChannelT , typename ErrorInfoT , typename SerializeFtor , typename DeserializeFtor >
void llvm::orc::shared::registerErrorSerialization (std::string Name, SerializeFtor &&Serialize, DeserializeFtor &&Deserialize)
 Registers a serializer and deserializer for the given error type on the given channel type. More...
template<typename ChannelT >
void llvm::orc::shared::registerStringError ()
 Registers serialization/deserialization for StringError. More...