com.caffeine
Version:
Caffeine package is a collection of utility methods, design patterns, and extensions for creating, previewing, and distributing interactive courses within Unity.
736 lines • 585 kB
text/xml
<?xml version="1.0"?>
<doc>
<assembly>
<name>Sirenix.Serialization</name>
</assembly>
<members>
<member name="T:Sirenix.Serialization.BaseDataReader">
<summary>
Provides basic functionality and overridable abstract methods for implementing a data reader.
<para />
If you inherit this class, it is VERY IMPORTANT that you implement each abstract method to the *exact* specifications the documentation specifies.
</summary>
<seealso cref="T:Sirenix.Serialization.BaseDataReaderWriter" />
<seealso cref="T:Sirenix.Serialization.IDataReader" />
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.#ctor(System.IO.Stream,Sirenix.Serialization.DeserializationContext)">
<summary>
Initializes a new instance of the <see cref="T:Sirenix.Serialization.BaseDataReader" /> class.
</summary>
<param name="stream">The base stream of the reader.</param>
<param name="context">The deserialization context to use.</param>
<exception cref="T:System.ArgumentNullException">The stream or context is null.</exception>
<exception cref="T:System.ArgumentException">Cannot read from stream.</exception>
</member>
<member name="P:Sirenix.Serialization.BaseDataReader.CurrentNodeId">
<summary>
Gets the current node id. If this is less than zero, the current node has no id.
</summary>
<value>
The current node id.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReader.CurrentNodeDepth">
<summary>
Gets the current node depth. In other words, the current count of the node stack.
</summary>
<value>
The current node depth.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReader.CurrentNodeName">
<summary>
Gets the name of the current node.
</summary>
<value>
The name of the current node.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReader.Stream">
<summary>
Gets or sets the base stream of the reader.
</summary>
<value>
The base stream of the reader.
</value>
<exception cref="T:System.ArgumentNullException">value</exception>
<exception cref="T:System.ArgumentException">Cannot read from stream</exception>
</member>
<member name="P:Sirenix.Serialization.BaseDataReader.Context">
<summary>
Gets the deserialization context.
</summary>
<value>
The deserialization context.
</value>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.EnterNode(System.Type@)">
<summary>
Tries to enter a node. This will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.StartOfNode"/>.
<para />
This call MUST (eventually) be followed by a corresponding call to <see cref="!:IDataReader.ExitNode(DeserializationContext)"/>
<para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId"/> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth"/> properties to the correct values for the current node.
</summary>
<param name="type">The type of the node. This value will be null if there was no metadata, or if the reader's serialization binder failed to resolve the type name.</param>
<returns><c>true</c> if entering a node succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ExitNode">
<summary>
Exits the current node. This method will keep skipping entries using <see cref="!:IDataReader.SkipEntry(DeserializationContext)"/> until an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> is reached, or the end of the stream is reached.
<para />
This call MUST have been preceded by a corresponding call to <see cref="M:Sirenix.Serialization.IDataReader.EnterNode(System.Type@)"/>.
<para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId"/> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth"/> to the correct values for the node that was prior to the current node.
</summary>
<returns><c>true</c> if the method exited a node, <c>false</c> if it reached the end of the stream.</returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.EnterArray(System.Int64@)">
<summary>
Tries to enters an array node. This will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.StartOfArray"/>.
<para />
This call MUST (eventually) be followed by a corresponding call to <see cref="!:IDataReader.ExitArray(DeserializationContext)"/>
<para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId"/> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth"/> properties to the correct values for the current array node.
</summary>
<param name="length">The length of the array that was entered.</param>
<returns><c>true</c> if an array was entered, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ExitArray">
<summary>
Exits the closest array. This method will keep skipping entries using <see cref="!:IDataReader.SkipEntry(DeserializationContext)"/> until an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/> is reached, or the end of the stream is reached.
<para />
This call MUST have been preceded by a corresponding call to <see cref="M:Sirenix.Serialization.IDataReader.EnterArray(System.Int64@)"/>.
<para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName"/>, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId"/> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth"/> to the correct values for the node that was prior to the exited array node.
</summary>
<returns><c>true</c> if the method exited an array, <c>false</c> if it reached the end of the stream.</returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadPrimitiveArray``1(``0[]@)">
<summary>
Reads a primitive array value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.PrimitiveArray"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<typeparam name="T">The element type of the primitive array. Valid element types can be determined using <see cref="M:Sirenix.Serialization.FormatterUtilities.IsPrimitiveArrayType(System.Type)"/>.</typeparam>
<param name="array">The resulting primitive array.</param>
<returns><c>true</c> if reading a primitive array succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.PeekEntry(System.String@)">
<summary>
Peeks ahead and returns the type of the next entry in the stream.
</summary>
<param name="name">The name of the next entry, if it has one.</param>
<returns>The type of the next entry.</returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadInternalReference(System.Int32@)">
<summary>
Reads an internal reference id. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.InternalReference"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="id">The internal reference id.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadExternalReference(System.Int32@)">
<summary>
Reads an external reference index. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.ExternalReferenceByIndex"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="index">The external reference index.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadExternalReference(System.Guid@)">
<summary>
Reads an external reference guid. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.ExternalReferenceByGuid"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="guid">The external reference guid.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadExternalReference(System.String@)">
<summary>
Reads an external reference string. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.ExternalReferenceByString" />.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode" /> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray" />.
</summary>
<param name="id">The external reference string.</param>
<returns>
<c>true</c> if reading the value succeeded, otherwise <c>false</c>
</returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadChar(System.Char@)">
<summary>
Reads a <see cref="T:System.Char"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.String"/>.
<para />
If the string of the entry is longer than 1 character, the first character of the string will be taken as the result.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadString(System.String@)">
<summary>
Reads a <see cref="T:System.String"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.String"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadGuid(System.Guid@)">
<summary>
Reads a <see cref="T:System.Guid"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Guid"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadSByte(System.SByte@)">
<summary>
Reads an <see cref="T:System.SByte"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.SByte.MinValue"/> or larger than <see cref="F:System.SByte.MaxValue"/>, the result will be default(<see cref="T:System.SByte"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadInt16(System.Int16@)">
<summary>
Reads a <see cref="T:System.Int16"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.Int16.MinValue"/> or larger than <see cref="F:System.Int16.MaxValue"/>, the result will be default(<see cref="T:System.Int16"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadInt32(System.Int32@)">
<summary>
Reads an <see cref="T:System.Int32"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.Int32.MinValue"/> or larger than <see cref="F:System.Int32.MaxValue"/>, the result will be default(<see cref="T:System.Int32"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadInt64(System.Int64@)">
<summary>
Reads a <see cref="T:System.Int64"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.Int64.MinValue"/> or larger than <see cref="F:System.Int64.MaxValue"/>, the result will be default(<see cref="T:System.Int64"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadByte(System.Byte@)">
<summary>
Reads a <see cref="T:System.Byte"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.Byte.MinValue"/> or larger than <see cref="F:System.Byte.MaxValue"/>, the result will be default(<see cref="T:System.Byte"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadUInt16(System.UInt16@)">
<summary>
Reads an <see cref="T:System.UInt16"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.UInt16.MinValue"/> or larger than <see cref="F:System.UInt16.MaxValue"/>, the result will be default(<see cref="T:System.UInt16"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadUInt32(System.UInt32@)">
<summary>
Reads an <see cref="T:System.UInt32"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.UInt32.MinValue"/> or larger than <see cref="F:System.UInt32.MaxValue"/>, the result will be default(<see cref="T:System.UInt32"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadUInt64(System.UInt64@)">
<summary>
Reads an <see cref="T:System.UInt64"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the value of the stored integer is smaller than <see cref="F:System.UInt64.MinValue"/> or larger than <see cref="F:System.UInt64.MaxValue"/>, the result will be default(<see cref="T:System.UInt64"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadDecimal(System.Decimal@)">
<summary>
Reads a <see cref="T:System.Decimal"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.FloatingPoint"/> or an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the stored integer or floating point value is smaller than <see cref="F:System.Decimal.MinValue"/> or larger than <see cref="F:System.Decimal.MaxValue"/>, the result will be default(<see cref="T:System.Decimal"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadSingle(System.Single@)">
<summary>
Reads a <see cref="T:System.Single"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.FloatingPoint"/> or an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the stored integer or floating point value is smaller than <see cref="F:System.Single.MinValue"/> or larger than <see cref="F:System.Single.MaxValue"/>, the result will be default(<see cref="T:System.Single"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadDouble(System.Double@)">
<summary>
Reads a <see cref="T:System.Double"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.FloatingPoint"/> or an <see cref="F:Sirenix.Serialization.EntryType.Integer"/>.
<para />
If the stored integer or floating point value is smaller than <see cref="F:System.Double.MinValue"/> or larger than <see cref="F:System.Double.MaxValue"/>, the result will be default(<see cref="T:System.Double"/>).
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadBoolean(System.Boolean@)">
<summary>
Reads a <see cref="T:System.Boolean"/> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Boolean"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<param name="value">The value that has been read.</param>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadNull">
<summary>
Reads a <c>null</c> value. This call will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.Null"/>.
<para />
If the call fails (and returns <c>false</c>), it will skip the current entry value, unless that entry is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>.
</summary>
<returns><c>true</c> if reading the value succeeded, otherwise <c>false</c></returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.SkipEntry">
<summary>
Skips the next entry value, unless it is an <see cref="F:Sirenix.Serialization.EntryType.EndOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.EndOfArray"/>. If the next entry value is an <see cref="F:Sirenix.Serialization.EntryType.StartOfNode"/> or an <see cref="F:Sirenix.Serialization.EntryType.StartOfArray"/>, all of its contents will be processed, deserialized and registered in the deserialization context, so that internal reference values are not lost to entries further down the stream.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.Dispose">
<summary>
Disposes all resources and streams kept by the data reader.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.PrepareNewSerializationSession">
<summary>
Tells the reader that a new serialization session is about to begin, and that it should clear all cached values left over from any prior serialization sessions.
This method is only relevant when the same reader is used to deserialize several different, unrelated values.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.GetDataDump">
<summary>
Gets a dump of the data being read by the writer. The format of this dump varies, but should be useful for debugging purposes.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.PeekEntry">
<summary>
Peeks the current entry.
</summary>
<returns>The peeked entry.</returns>
</member>
<member name="M:Sirenix.Serialization.BaseDataReader.ReadToNextEntry">
<summary>
Consumes the current entry, and reads to the next one.
</summary>
<returns>The next entry.</returns>
</member>
<member name="T:Sirenix.Serialization.BaseDataReaderWriter">
<summary>
Implements functionality that is shared by both data readers and data writers.
</summary>
</member>
<member name="P:Sirenix.Serialization.BaseDataReaderWriter.Binder">
<summary>
Gets or sets the context's or writer's serialization binder.
</summary>
<value>
The reader's or writer's serialization binder.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReaderWriter.IsInArrayNode">
<summary>
Gets a value indicating whether the reader or writer is in an array node.
</summary>
<value>
<c>true</c> if the reader or writer is in an array node; otherwise, <c>false</c>.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReaderWriter.NodeDepth">
<summary>
Gets the current node depth. In other words, the current count of the node stack.
</summary>
<value>
The current node depth.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReaderWriter.NodesArray">
<summary>
Gets the current nodes array. The amount of nodes contained in it is stored in the <see cref="P:Sirenix.Serialization.BaseDataReaderWriter.NodeDepth"/> property. The remainder of the array's length is buffer space.
</summary>
<value>
The current node array.
</value>
</member>
<member name="P:Sirenix.Serialization.BaseDataReaderWriter.CurrentNode">
<summary>
Gets the current node, or <see cref="F:Sirenix.Serialization.NodeInfo.Empty"/> if there is no current node.
</summary>
<value>
The current node.
</value>
</member>
<member name="M:Sirenix.Serialization.BaseDataReaderWriter.PushNode(Sirenix.Serialization.NodeInfo)">
<summary>
Pushes a node onto the node stack.
</summary>
<param name="node">The node to push.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataReaderWriter.PushNode(System.String,System.Int32,System.Type)">
<summary>
Pushes a node with the given name, id and type onto the node stack.
</summary>
<param name="name">The name of the node.</param>
<param name="id">The id of the node.</param>
<param name="type">The type of the node.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataReaderWriter.PushArray">
<summary>
Pushes an array node onto the node stack. This uses values from the current node to provide extra info about the array node.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataReaderWriter.PopNode(System.String)">
<summary>
Pops the current node off of the node stack.
</summary>
<param name="name">The name of the node to pop.</param>
<exception cref="T:System.InvalidOperationException">
There are no nodes to pop.
or
Tried to pop node with given name, but the current node's name was different.
</exception>
</member>
<member name="M:Sirenix.Serialization.BaseDataReaderWriter.PopArray">
<summary>
Pops the current node if the current node is an array node.
</summary>
</member>
<member name="T:Sirenix.Serialization.BaseDataWriter">
<summary>
Provides basic functionality and overridable abstract methods for implementing a data writer.
<para />
If you inherit this class, it is VERY IMPORTANT that you implement each abstract method to the *exact* specifications the documentation specifies.
</summary>
<seealso cref="T:Sirenix.Serialization.BaseDataReaderWriter" />
<seealso cref="T:Sirenix.Serialization.IDataWriter" />
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.#ctor(System.IO.Stream,Sirenix.Serialization.SerializationContext)">
<summary>
Initializes a new instance of the <see cref="T:Sirenix.Serialization.BaseDataWriter" /> class.
</summary>
<param name="stream">The base stream of the writer.</param>
<param name="context">The serialization context to use.</param>
<exception cref="T:System.ArgumentNullException">The stream or context is null.</exception>
<exception cref="T:System.ArgumentException">Cannot write to the stream.</exception>
</member>
<member name="P:Sirenix.Serialization.BaseDataWriter.Stream">
<summary>
Gets or sets the base stream of the writer.
</summary>
<value>
The base stream of the writer.
</value>
<exception cref="T:System.ArgumentNullException">value</exception>
<exception cref="T:System.ArgumentException">Cannot write to stream</exception>
</member>
<member name="P:Sirenix.Serialization.BaseDataWriter.Context">
<summary>
Gets the serialization context.
</summary>
<value>
The serialization context.
</value>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.FlushToStream">
<summary>
Flushes everything that has been written so far to the writer's base stream.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.BeginReferenceNode(System.String,System.Type,System.Int32)">
<summary>
Writes the beginning of a reference node.
<para />
This call MUST eventually be followed by a corresponding call to <see cref="M:Sirenix.Serialization.IDataWriter.EndNode(System.String)"/>, with the same name.
</summary>
<param name="name">The name of the reference node.</param>
<param name="type">The type of the reference node. If null, no type metadata will be written.</param>
<param name="id">The id of the reference node. This id is acquired by calling <see cref="M:Sirenix.Serialization.SerializationContext.TryRegisterInternalReference(System.Object,System.Int32@)"/>.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.BeginStructNode(System.String,System.Type)">
<summary>
Begins a struct/value type node. This is essentially the same as a reference node, except it has no internal reference id.
<para />
This call MUST eventually be followed by a corresponding call to <see cref="M:Sirenix.Serialization.IDataWriter.EndNode(System.String)"/>, with the same name.
</summary>
<param name="name">The name of the struct node.</param>
<param name="type">The type of the struct node. If null, no type metadata will be written.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.EndNode(System.String)">
<summary>
Ends the current node with the given name. If the current node has another name, an <see cref="T:System.InvalidOperationException"/> is thrown.
</summary>
<param name="name">The name of the node to end. This has to be the name of the current node.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.BeginArrayNode(System.Int64)">
<summary>
Begins an array node of the given length.
</summary>
<param name="length">The length of the array to come.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.EndArrayNode">
<summary>
Ends the current array node, if the current node is an array node.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WritePrimitiveArray``1(``0[])">
<summary>
Writes a primitive array to the stream.
</summary>
<typeparam name="T">The element type of the primitive array. Valid element types can be determined using <see cref="M:Sirenix.Serialization.FormatterUtilities.IsPrimitiveArrayType(System.Type)"/>.</typeparam>
<param name="array">The primitive array to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteNull(System.String)">
<summary>
Writes a null value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteInternalReference(System.String,System.Int32)">
<summary>
Writes an internal reference to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="id">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteExternalReference(System.String,System.Int32)">
<summary>
Writes an external index reference to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="index">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteExternalReference(System.String,System.Guid)">
<summary>
Writes an external guid reference to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="guid">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteExternalReference(System.String,System.String)">
<summary>
Writes an external string reference to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="id">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteChar(System.String,System.Char)">
<summary>
Writes a <see cref="T:System.Char"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteString(System.String,System.String)">
<summary>
Writes a <see cref="T:System.String"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteGuid(System.String,System.Guid)">
<summary>
Writes a <see cref="T:System.Guid"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteSByte(System.String,System.SByte)">
<summary>
Writes an <see cref="T:System.SByte"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteInt16(System.String,System.Int16)">
<summary>
Writes a <see cref="T:System.Int16"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteInt32(System.String,System.Int32)">
<summary>
Writes an <see cref="T:System.Int32"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteInt64(System.String,System.Int64)">
<summary>
Writes a <see cref="T:System.Int64"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteByte(System.String,System.Byte)">
<summary>
Writes a <see cref="T:System.Byte"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteUInt16(System.String,System.UInt16)">
<summary>
Writes an <see cref="T:System.UInt16"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteUInt32(System.String,System.UInt32)">
<summary>
Writes an <see cref="T:System.UInt32"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteUInt64(System.String,System.UInt64)">
<summary>
Writes an <see cref="T:System.UInt64"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteDecimal(System.String,System.Decimal)">
<summary>
Writes a <see cref="T:System.Decimal"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteSingle(System.String,System.Single)">
<summary>
Writes a <see cref="T:System.Single"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteDouble(System.String,System.Double)">
<summary>
Writes a <see cref="T:System.Double"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.WriteBoolean(System.String,System.Boolean)">
<summary>
Writes a <see cref="T:System.Boolean"/> value to the stream.
</summary>
<param name="name">The name of the value. If this is null, no name will be written.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.Dispose">
<summary>
Disposes all resources and streams kept by the data writer.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.PrepareNewSerializationSession">
<summary>
Tells the writer that a new serialization session is about to begin, and that it should clear all cached values left over from any prior serialization sessions.
This method is only relevant when the same writer is used to serialize several different, unrelated values.
</summary>
</member>
<member name="M:Sirenix.Serialization.BaseDataWriter.GetDataDump">
<summary>
Gets a dump of the data currently written by the writer. The format of this dump varies, but should be useful for debugging purposes.
</summary>
</member>
<member name="T:Sirenix.Serialization.BinaryDataReader">
<summary>
Reads data from a stream that has been written by a <see cref="T:Sirenix.Serialization.BinaryDataWriter"/>.
</summary>
<seealso cref="T:Sirenix.Serialization.BaseDataReader" />
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.#ctor(System.IO.Stream,Sirenix.Serialization.DeserializationContext)">
<summary>
Initializes a new instance of the <see cref="T:Sirenix.Serialization.BinaryDataReader" /> class.
</summary>
<param name="stream">The base stream of the reader.</param>
<param name="context">The deserialization context to use.</param>
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.Dispose">
<summary>
Disposes all resources kept by the data reader, except the stream, which can be reused later.
</summary>
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.PeekEntry(System.String@)">
<summary>
Peeks ahead and returns the type of the next entry in the stream.
</summary>
<param name="name">The name of the next entry, if it has one.</param>
<returns>
The type of the next entry.
</returns>
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.EnterArray(System.Int64@)">
<summary>
Tries to enters an array node. This will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.StartOfArray" />.
<para />
This call MUST (eventually) be followed by a corresponding call to <see cref="M:Sirenix.Serialization.IDataReader.ExitArray" /><para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode" />, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName" />, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId" /> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth" /> properties to the correct values for the current array node.
</summary>
<param name="length">The length of the array that was entered.</param>
<returns>
<c>true</c> if an array was entered, otherwise <c>false</c>
</returns>
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.EnterNode(System.Type@)">
<summary>
Tries to enter a node. This will succeed if the next entry is an <see cref="F:Sirenix.Serialization.EntryType.StartOfNode" />.
<para />
This call MUST (eventually) be followed by a corresponding call to <see cref="M:Sirenix.Serialization.IDataReader.ExitNode" /><para />
This call will change the values of the <see cref="P:Sirenix.Serialization.IDataReader.IsInArrayNode" />, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeName" />, <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeId" /> and <see cref="P:Sirenix.Serialization.IDataReader.CurrentNodeDepth" /> properties to the correct values for the current node.
</summary>
<param name="type">The type of the node. This value will be null if there was no metadata, or if the reader's serialization binder failed to resolve the type name.</param>
<returns>
<c>true</c> if entering a node succeeded, otherwise <c>false</c>
</returns>
</member>
<member name="M:Sirenix.Serialization.BinaryDataReader.ExitArray">
<summary>
Exits the closest array. This method will keep skipping entrie