mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
Added "Emitter" functor to allow easy emitting of elements of a container
using std::for_each. llvm-svn: 44589
This commit is contained in:
parent
a8e7a09fef
commit
f1c4beda54
@ -37,6 +37,17 @@ public:
|
||||
template <typename T>
|
||||
inline void Emit(const T& X) { SerializeTrait<T>::Emit(*this,X); }
|
||||
|
||||
template <typename T>
|
||||
struct Emitter {
|
||||
Serializer &S;
|
||||
|
||||
Emitter(Serializer& s) : S(s) {}
|
||||
void operator()(const T& x) const { S.Emit(x); }
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
Emitter<T> MakeEmitter() { return Emitter<T>(*this); }
|
||||
|
||||
void EmitInt(uint64_t X);
|
||||
void EmitSInt(int64_t X);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user