19 virtual void WriteBytes(
const void *inData,
size_t inNumBytes) = 0;
28 WriteBytes(&inT,
sizeof(inT));
32 template <
class T,
class A>
33 void Write(
const std::vector<T, A> &inT)
43 template <
class Type,
class Traits,
class Allocator>
44 void Write(
const std::basic_string<Type, Traits, Allocator> &inString)
46 typename std::basic_string<Type, Traits, Allocator>::size_type len = inString.size();
49 WriteBytes(inString.data(), len *
sizeof(Type));
53 template <
class T,
class A,
typename F>
54 void Write(
const std::vector<T, A> &inT,
const F &inWriteElement)
60 inWriteElement(inT[i], *
this);
66 WriteBytes(&inVec, 3 *
sizeof(
float));
72 WriteBytes(&inVec, 3 *
sizeof(
double));
#define JPH_EXPORT
Definition: Core.h:227
#define JPH_NAMESPACE_END
Definition: Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:361
std::vector< T, STLAllocator< T > > Array
Definition: STLAllocator.h:81
Holds a 4x4 matrix of floats with the last column consisting of doubles.
Definition: DMat44.h:13
JPH_INLINE Vec4 GetColumn4(uint inCol) const
Definition: DMat44.h:115
JPH_INLINE DVec3 GetTranslation() const
Definition: DMat44.h:111
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition: NonCopyable.h:11
Simple binary output stream.
Definition: StreamOut.h:13
void Write(const Vec3 &inVec)
Write a Vec3 (don't write W)
Definition: StreamOut.h:64
void Write(const DMat44 &inVec)
Write a DMat44 (don't write W component of translation)
Definition: StreamOut.h:76
void Write(const std::vector< T, A > &inT, const F &inWriteElement)
Write a vector of primitives to the binary stream using a custom write function.
Definition: StreamOut.h:54
void Write(const std::vector< T, A > &inT)
Write a vector of primitives to the binary stream.
Definition: StreamOut.h:33
virtual bool IsFailed() const =0
Returns true if there was an IO failure.
void Write(const DVec3 &inVec)
Write a DVec3 (don't write W)
Definition: StreamOut.h:70
virtual void WriteBytes(const void *inData, size_t inNumBytes)=0
Write a string of bytes to the binary stream.
void Write(const T &inT)
Write a primitive (e.g. float, int, etc.) to the binary stream.
Definition: StreamOut.h:26
void Write(const std::basic_string< Type, Traits, Allocator > &inString)
Write a string to the binary stream (writes the number of characters and then the characters)
Definition: StreamOut.h:44
virtual ~StreamOut()=default
Virtual destructor.