19    virtual void        ReadBytes(
void *outData, 
size_t inNumBytes) = 0;
 
   29    template <
class T, std::enable_if_t<std::is_trivially_copyable_v<T>, 
bool> = true>
 
   32        ReadBytes(&outT, 
sizeof(outT));
 
 
   36    template <
class T, 
class A, std::enable_if_t<std::is_trivially_copyable_v<T>, 
bool> = true>
 
   41        if (!IsEOF() && !IsFailed())
 
   44            if constexpr (std::is_same_v<T, Vec3> || std::is_same_v<T, DVec3> || std::is_same_v<T, DMat44>)
 
   53                ReadBytes(outT.
data(), len * 
sizeof(T));
 
 
   61    template <
class Type, 
class Traits, 
class Allocator>
 
   62    void                Read(std::basic_string<Type, Traits, Allocator> &outString)
 
   66        if (!IsEOF() && !IsFailed())
 
   68            outString.resize(len);
 
   69            ReadBytes(outString.data(), len * 
sizeof(Type));
 
 
   76    template <
class T, 
class A, 
typename F>
 
   81        if (!IsEOF() && !IsFailed())
 
   85                inReadElement(*
this, outT[i]);
 
 
   94        ReadBytes(&outVec, 3 * 
sizeof(
float));
 
 
  101        ReadBytes(&outVec, 3 * 
sizeof(
double));
 
 
  116        outVec = 
DMat44(x, y, z, t);
 
 
 
#define JPH_EXPORT
Definition Core.h:275
 
#define JPH_NAMESPACE_END
Definition Core.h:419
 
std::uint32_t uint32
Definition Core.h:496
 
#define JPH_NAMESPACE_BEGIN
Definition Core.h:413
 
void resize(size_type inNewSize)
Resize array to new length.
Definition Array.h:197
 
size_t size_type
Definition Array.h:40
 
const T * data() const
Definition Array.h:553
 
size_type size() const
Returns amount of elements in the array.
Definition Array.h:397
 
void clear()
Destruct all elements and set length to zero.
Definition Array.h:222
 
Holds a 4x4 matrix of floats with the last column consisting of doubles.
Definition DMat44.h:13
 
static JPH_INLINE Type sFixW(TypeArg inValue)
Internal helper function that ensures that the Z component is replicated to the W component to preven...
Definition DVec3.inl:92
 
Type mValue
Definition DVec3.h:282
 
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11
 
Simple binary input stream.
Definition StreamIn.h:13
 
virtual ~StreamIn()=default
Virtual destructor.
 
void Read(T &outT)
Read a primitive (e.g. float, int, etc.) from the binary stream.
Definition StreamIn.h:30
 
void Read(Array< T, A > &outT, const F &inReadElement)
Read a vector of primitives from the binary stream using a custom function to read the elements.
Definition StreamIn.h:77
 
void Read(std::basic_string< Type, Traits, Allocator > &outString)
Read a string from the binary stream (reads the number of characters and then the characters)
Definition StreamIn.h:62
 
void Read(Vec3 &outVec)
Read a Vec3 (don't read W)
Definition StreamIn.h:92
 
virtual void ReadBytes(void *outData, size_t inNumBytes)=0
Read a string of bytes from the binary stream.
 
virtual bool IsEOF() const =0
 
virtual bool IsFailed() const =0
Returns true if there was an IO failure.
 
void Read(DMat44 &outVec)
Read a DMat44 (don't read W component of translation)
Definition StreamIn.h:106
 
void Read(Array< T, A > &outT)
Read a vector of primitives from the binary stream.
Definition StreamIn.h:37
 
void Read(DVec3 &outVec)
Read a DVec3 (don't read W)
Definition StreamIn.h:99
 
static JPH_INLINE Type sFixW(Type inValue)
Internal helper function that ensures that the Z component is replicated to the W component to preven...
 
Type mValue
Definition Vec3.h:299