LLVM  8.0.1
Classes | Namespaces | Functions
RPCSerialization.h File Reference
#include "OrcError.h"
#include "llvm/Support/thread.h"
#include <map>
#include <mutex>
#include <set>
#include <sstream>
#include <string>
#include <vector>
Include dependency graph for RPCSerialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::orc::rpc::RPCTypeName< T >
 
class  llvm::orc::rpc::RPCTypeNameSequence< ArgTs >
 TypeNameSequence is a utility for rendering sequences of types to a string by rendering each type, separated by ", ". More...
 
class  llvm::orc::rpc::RPCTypeName< void >
 
class  llvm::orc::rpc::RPCTypeName< int8_t >
 
class  llvm::orc::rpc::RPCTypeName< uint8_t >
 
class  llvm::orc::rpc::RPCTypeName< int16_t >
 
class  llvm::orc::rpc::RPCTypeName< uint16_t >
 
class  llvm::orc::rpc::RPCTypeName< int32_t >
 
class  llvm::orc::rpc::RPCTypeName< uint32_t >
 
class  llvm::orc::rpc::RPCTypeName< int64_t >
 
class  llvm::orc::rpc::RPCTypeName< uint64_t >
 
class  llvm::orc::rpc::RPCTypeName< bool >
 
class  llvm::orc::rpc::RPCTypeName< std::string >
 
class  llvm::orc::rpc::RPCTypeName< Error >
 
class  llvm::orc::rpc::RPCTypeName< Expected< T > >
 
class  llvm::orc::rpc::RPCTypeName< std::pair< T1, T2 > >
 
class  llvm::orc::rpc::RPCTypeName< std::tuple< ArgTs... > >
 
class  llvm::orc::rpc::RPCTypeName< std::vector< T > >
 
class  llvm::orc::rpc::RPCTypeName< std::set< T > >
 
class  llvm::orc::rpc::RPCTypeName< std::map< K, V > >
 
class  llvm::orc::rpc::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::rpc::SequenceTraits< ChannelT >
 
class  llvm::orc::rpc::SequenceSerialization< ChannelT, ArgTs >
 Utility class for serializing sequences of values of varying types. More...
 
class  llvm::orc::rpc::SequenceSerialization< ChannelT >
 
class  llvm::orc::rpc::SequenceSerialization< ChannelT, ArgT >
 
class  llvm::orc::rpc::SequenceSerialization< ChannelT, ArgT, ArgTs... >
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, Error >
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, Expected< T1 >, Expected< T2 > >
 SerializationTraits for Expected<T1> from an Expected<T2>. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, Expected< T1 >, T2 >
 SerializationTraits for Expected<T1> from a T2. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, Expected< T >, Error >
 SerializationTraits for Expected<T1> from an Error. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, std::pair< T1, T2 >, std::pair< T3, T4 > >
 SerializationTraits default specialization for std::pair. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, std::tuple< ArgTs... > >
 SerializationTraits default specialization for std::tuple. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, std::vector< T > >
 SerializationTraits default specialization for std::vector. More...
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, std::set< T >, std::set< T2 > >
 
class  llvm::orc::rpc::SerializationTraits< ChannelT, std::map< K, V >, std::map< K2, V2 > >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::orc
 
 llvm::orc::rpc
 

Functions

template<typename OStream >
OStream & llvm::orc::rpc::operator<< (OStream &OS, const RPCTypeNameSequence<> &V)
 Render an empty TypeNameSequence to an ostream. More...
 
template<typename OStream , typename ArgT >
OStream & llvm::orc::rpc::operator<< (OStream &OS, const RPCTypeNameSequence< 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::rpc::operator<< (OStream &OS, const RPCTypeNameSequence< ArgT1, ArgT2, ArgTs... > &V)
 Render a TypeNameSequence of more than one type to an ostream. More...
 
template<typename ChannelT , typename... ArgTs>
Error llvm::orc::rpc::serializeSeq (ChannelT &C, ArgTs &&... Args)
 
template<typename ChannelT , typename... ArgTs>
Error llvm::orc::rpc::deserializeSeq (ChannelT &C, ArgTs &... Args)
 
template<typename ChannelT , typename ErrorInfoT , typename SerializeFtor , typename DeserializeFtor >
void llvm::orc::rpc::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::rpc::registerStringError ()
 Registers serialization/deserialization for StringError. More...