Class WriteStream
Base class for all data write streams
Inheritance
Assembly: FlaxEngine.dll
File: Engine/Serialization/WriteStream.h
Syntax
public class WriteStream : public Stream
  Constructors
DEPRECATED("Use Write method") void WriteString(const StringView& data)
[Deprecated on 11.10.2022, expires on 11.10.2024]
Declaration
public DEPRECATED("Use Write method") void WriteString(const StringView& data)
  Parameters
| 
        "Use Write method"
        WriteStream_DEPRECATED__Use_Write_method__
         
  | 
    
Fields
data
Declaration
public AllocationType data{
    Write(data)
  Field Value
| 
        AllocationType
         
  | 
    
lock
Declaration
public int16 lock
  Field Value
| 
        int16
         
  | 
    
useDouble
Declaration
public bool useDouble = false)
  Field Value
| 
        bool
         
  | 
    
Methods
CanWrite()
Returns true if can write data to that stream.
Declaration
public virtual bool CanWrite() override
  Returns
| 
        bool
         True if can write, otherwise false.  | 
    
Overrides
Write(const Array<T, AllocationType>& data)
Declaration
public void Write(const Array<T, AllocationType>& data)
  Parameters
| 
        Array<T, AllocationType>
        data
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
| 
        typename AllocationType
         
  | 
    
Write(const AssetReference<T>& v)
Declaration
public void Write(const AssetReference<T>& v)
  Parameters
| 
        AssetReference<T>
        v
         
  | 
    
Returns
| 
        void
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const BoundingBox& box, bool useDouble=false)
Declaration
public void Write(const BoundingBox& box, bool useDouble=false)
  Parameters
| 
        BoundingBox
        box
         
  | 
    
| 
        bool
        useDouble
         
  | 
    
Write(const BoundingSphere& sphere, bool useDouble=false)
Declaration
public void Write(const BoundingSphere& sphere, bool useDouble=false)
  Parameters
| 
        BoundingSphere
        sphere
         
  | 
    
| 
        bool
        useDouble
         
  | 
    
Write(const CommonValue& data)
Declaration
public void Write(const CommonValue& data)
  Parameters
| 
        CommonValue
        data
         
  | 
    
Write(const Dictionary<KeyType, ValueType, AllocationType>& data)
Declaration
public void Write(const Dictionary<KeyType, ValueType, AllocationType>& data)
  Parameters
| 
        Dictionary<KeyType, ValueType, AllocationType>
        data
         
  | 
    
Type Parameters
| 
        typename KeyType
         
  | 
    
| 
        typename ValueType
         
  | 
    
| 
        typename AllocationType
         
  | 
    
Write(const Ray& ray, bool useDouble=false)
Declaration
public void Write(const Ray& ray, bool useDouble=false)
  Parameters
| 
        Ray
        ray
         
  | 
    
| 
        bool
        useDouble
         
  | 
    
Write(const ScriptingObjectReference<T>& v)
Declaration
public void Write(const ScriptingObjectReference<T>& v)
  Parameters
| 
        ScriptingObjectReference<T>
        v
         
  | 
    
Returns
| 
        void
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const SoftAssetReference<T>& v)
Declaration
public void Write(const SoftAssetReference<T>& v)
  Parameters
| 
        SoftAssetReference<T>
        v
         
  | 
    
Returns
| 
        void
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const SoftObjectReference<T>& v)
Declaration
public void Write(const SoftObjectReference<T>& v)
  Parameters
| 
        SoftObjectReference<T>
        v
         
  | 
    
Returns
| 
        void
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const Span<T>& data)
Declaration
public void Write(const Span<T>& data)
  Parameters
| 
        Span<T>
        data
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const StringAnsiView& data)
Write(const StringAnsiView& data, int8 lock)
Declaration
public void Write(const StringAnsiView& data, int8 lock)
  Parameters
| 
        StringAnsiView
        data
         
  | 
    
| 
        int8
        lock
         
  | 
    
Write(const StringView& data)
Write(const StringView& data, int16 lock)
Declaration
public void Write(const StringView& data, int16 lock)
  Parameters
| 
        StringView
        data
         
  | 
    
| 
        int16
        lock
         
  | 
    
Write(const T& data)
Declaration
public TEnableIf<TAnd<TIsPODType<T>, TNot<TIsPointer<T>>>::Value>::Type Write(const T& data)
  Parameters
| 
        T
        data
         
  | 
    
Returns
| 
        TEnableIf<TAnd<TIsPODType<T>, TNot<TIsPointer<T>>>::Value>::Type
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const T* data)
Declaration
public TEnableIf<TIsBaseOf<ScriptingObject, T>::Value>::Type Write(const T* data)
  Parameters
| 
        T
        data
         
  | 
    
Returns
| 
        TEnableIf<TIsBaseOf<ScriptingObject, T>::Value>::Type
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
Write(const Transform& transform, bool useDouble=false)
Declaration
public void Write(const Transform& transform, bool useDouble=false)
  Parameters
| 
        Transform
        transform
         
  | 
    
| 
        bool
        useDouble
         
  | 
    
Write(const Variant& data)
Write(const VariantType& data)
Write(const WeakAssetReference<T>& v)
Declaration
public void Write(const WeakAssetReference<T>& v)
  Parameters
| 
        WeakAssetReference<T>
        v
         
  | 
    
Returns
| 
        void
         
  | 
    
Type Parameters
| 
        typename T
         
  | 
    
WriteBOM()
Declaration
public void WriteBOM()
  WriteBool(bool data)
Declaration
public void WriteBool(bool data)
  Parameters
| 
        bool
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteByte(byte data)
Declaration
public void WriteByte(byte data)
  Parameters
| 
        byte
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteBytes(const void* data, uint32 bytes)
Writes bytes to the stream.
Declaration
public virtual void WriteBytes(const void* data, uint32 bytes) = 0
  Parameters
| 
        void
        data
         Pointer to data to write.  | 
    
| 
        uint32
        bytes
         Amount of bytes to write.  | 
    
WriteChar(char data)
Declaration
public void WriteChar(char data)
  Parameters
| 
        char
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteChar(Char data)
Declaration
public void WriteChar(Char data)
  Parameters
| 
        Char
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteDouble(double data)
Declaration
public void WriteDouble(double data)
  Parameters
| 
        double
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteFloat(float data)
Declaration
public void WriteFloat(float data)
  Parameters
| 
        float
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteInt16(int16 data)
Declaration
public void WriteInt16(int16 data)
  Parameters
| 
        int16
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteInt32(int32 data)
Declaration
public void WriteInt32(int32 data)
  Parameters
| 
        int32
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteInt64(int64 data)
Declaration
public void WriteInt64(int64 data)
  Parameters
| 
        int64
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteInt8(int8 data)
Declaration
public void WriteInt8(int8 data)
  Parameters
| 
        int8
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteJson(const StringAnsiView& json)
WriteJson(ISerializable* obj, const void* otherObj=nullptr)
Serializes object to Json and writes it as a raw data (ver+length+bytes).
Writes version number, data length and actual data bytes to the stream.
Declaration
public void WriteJson(ISerializable* obj, const void* otherObj=nullptr)
  Parameters
| 
        ISerializable
        obj
         The object to serialize.  | 
    
| 
        void
        otherObj
         The instance of the object to compare with and serialize only the modified properties. If null, then serialize all properties.  | 
    
WriteText(const char* text, int32 length)
Declaration
public void WriteText(const char* text, int32 length)
  Parameters
| 
        char
        text
         
  | 
    
| 
        int32
        length
         
  | 
    
WriteText(const Char* text, int32 length)
Declaration
public void WriteText(const Char* text, int32 length)
  Parameters
| 
        Char
        text
         
  | 
    
| 
        int32
        length
         
  | 
    
WriteText(const StringAnsiView& text)
WriteText(const StringView& text)
WriteUint16(uint16 data)
Declaration
public void WriteUint16(uint16 data)
  Parameters
| 
        uint16
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteUint32(uint32 data)
Declaration
public void WriteUint32(uint32 data)
  Parameters
| 
        uint32
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteUint64(uint64 data)
Declaration
public void WriteUint64(uint64 data)
  Parameters
| 
        uint64
        data
         
  | 
    
Returns
| 
        void
         
  | 
    
WriteUint8(uint8 data)
Declaration
public void WriteUint8(uint8 data)
  Parameters
| 
        uint8
        data
         
  | 
    
Returns
| 
        void
         
  |