<?xml version="1.0"?>
<doc>
    <assembly>
        <name>axXez</name>
    </assembly>
    <members>
        <member name="M:axXez.ExtensionsLegacy.StreamExtensions.SafeRead(System.IO.Stream)">
            <summary>
            Return when the byte is received, not when end of stream is reached.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.ExtensionsLegacy.StreamExtensions.SafeRead(System.IO.Stream,System.Int32)">
            <summary>
            Return when the numbers of bytes received, not when end of stream is reached.
            </summary>
            <param name="s"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="T:axXez.Extensions.IStreamable">
            <summary>
            
            </summary>
        </member>
        <member name="T:axXez.Extensions.IStreamWriteable">
            <summary>
            
            </summary>
        </member>
        <member name="M:axXez.Extensions.IStreamWriteable.OnWrite(System.IO.Stream)">
            <summary>
            
            </summary>
            <param name="s"></param>
        </member>
        <member name="T:axXez.Extensions.IStreamReadable">
            <summary>
            
            </summary>
        </member>
        <member name="M:axXez.Extensions.IStreamReadable.OnRead(System.IO.Stream)">
            <summary>
            
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.CreateRandom(System.Int32)">
            <summary>
            
            </summary>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.ToArray(axXez.Extensions.IStreamWriteable)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.ReadOnlySpan{System.Byte})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.Collections.Generic.IEnumerable{System.Byte})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.ReadOnlySpan{System.Byte},System.Action{System.IO.MemoryStream})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="reader"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.ReadOnlySpan{System.Byte},System.Action{System.IO.MemoryStream,System.Byte[]},System.Int32)">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="reader"></param>
            <param name="readBufferSize"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.Collections.Generic.IEnumerable{System.Byte},System.Action{System.IO.MemoryStream})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="reader"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.Stream(System.Collections.Generic.IEnumerable{System.Byte},System.Action{System.IO.MemoryStream,System.Byte[]},System.Int32)">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="reader"></param>
            <param name="readBufferSize"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.StreamAsync(System.Memory{System.Byte},System.Func{System.IO.MemoryStream,System.Threading.Tasks.Task})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="readerTask"></param>
        </member>
        <member name="M:axXez.Extensions.MemoryExtensions.StreamAsync(System.Collections.Generic.IEnumerable{System.Byte},System.Func{System.IO.MemoryStream,System.Threading.Tasks.Task})">
            <summary>
            Copy <paramref name="buffer"/> into MemoryStream to read from it.
            </summary>
            <param name="buffer"></param>
            <param name="readerTask"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.BytesLeft(System.IO.Stream)">
            <summary>
            Counts how many bytes are left in stream.
            </summary>
            <param name="s"></param>
            <returns>A long value that specifies the length of bytes remaining in the stream.</returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.ReadOnlySpan{System.Byte},System.Int32)">
            <inheritdoc cref="M:System.IO.Stream.Write(System.ReadOnlySpan{System.Byte})"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.ReadOnlySpan{System.Byte},System.Int32,System.Int32)">
            <inheritdoc cref="M:System.IO.Stream.Write(System.ReadOnlySpan{System.Byte})"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadToEnd(System.IO.Stream,System.Int32)">
            <summary>
            Reads a stream until end of stream is reached.
            </summary>
            <param name="s"></param>
            <param name="bufferSize"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteStream(System.IO.Stream,System.IO.Stream,System.Int32)">
            <summary>
            Writes <paramref name="source"/> stream to current stream.
            </summary>
            <param name="s"></param>
            <param name="source"></param>
            <param name="bufferSize"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadExactly(System.IO.Stream,System.Span{System.Byte},System.Int32)">
            <summary>
            Reads <paramref name="length"/> number of bytes from the current stream using an existing buffer with different length and advances the position within the stream.
            </summary>
            <param name="buffer">An existing byte buffer to use.</param>
            <param name="length">The number of bytes to be read from the current stream.</param>
            <exception cref="T:System.IO.EndOfStreamException">
            The end of the stream is reached before filling the <paramref name="buffer"/>.
            </exception>
            <remarks>
            When <paramref name="buffer"/> is empty, this read operation will be completed without waiting for available data in the stream.
            </remarks>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadExactly(System.IO.Stream,System.Span{System.Byte},System.Int32,System.Int32)">
            <summary>
            Reads <paramref name="length"/> number of bytes from the current stream using an existing buffer with different length and advances the position within the stream.
            </summary>
            <param name="buffer">An existing byte buffer to use.</param>
            <param name="start">The byte offset in <paramref name="buffer"/> at which to begin storing the data read from the current stream.</param>
            <param name="length">The number of bytes to be read from the current stream.</param>
            <exception cref="T:System.IO.EndOfStreamException">
            The end of the stream is reached before filling the <paramref name="buffer"/>.
            </exception>
            <remarks>
            When <paramref name="buffer"/> is empty, this read operation will be completed without waiting for available data in the stream.
            </remarks>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadSByte(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.SByte"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadInt16(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Int16"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadInt32(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Int32"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadInt64(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Int64"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadUInt16(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.UInt16"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadUInt32(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.UInt32"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadUInt64(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.UInt64"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadHalf(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Half"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadFloat(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Single"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadDouble(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.Double"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Byte@)">
            <inheritdoc cref="M:System.IO.Stream.ReadByte"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.SByte@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadSByte(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Int16@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadInt16(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Int32@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadInt32(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Int64@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadInt64(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.UInt16@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadUInt16(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.UInt32@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadUInt32(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.UInt64@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadUInt64(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Half@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadHalf(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Single@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadFloat(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.Double@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadDouble(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteSByte(System.IO.Stream,System.SByte)">
            <summary>
            Writes a <see cref="T:System.SByte"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteInt16(System.IO.Stream,System.Int16)">
            <summary>
            Writes a <see cref="T:System.Int16"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteInt32(System.IO.Stream,System.Int32)">
            <summary>
            Writes a <see cref="T:System.Int32"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteInt64(System.IO.Stream,System.Int64)">
            <summary>
            Writes a <see cref="T:System.Int64"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteUInt16(System.IO.Stream,System.UInt16)">
            <summary>
            Writes a <see cref="T:System.UInt16"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteUInt32(System.IO.Stream,System.UInt32)">
            <summary>
            Writes a <see cref="T:System.UInt32"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteUInt64(System.IO.Stream,System.UInt64)">
            <summary>
            Writes a <see cref="T:System.UInt64"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteHalf(System.IO.Stream,System.Half)">
            <summary>
            Writes a <see cref="T:System.Half"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteFloat(System.IO.Stream,System.Single)">
            <summary>
            Writes a <see cref="T:System.Single"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteDouble(System.IO.Stream,System.Double)">
            <summary>
            Writes a <see cref="T:System.Double"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Byte)">
            <inheritdoc cref="M:System.IO.Stream.WriteByte(System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.SByte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteSByte(System.IO.Stream,System.SByte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Int16)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteInt16(System.IO.Stream,System.Int16)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Int32)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteInt32(System.IO.Stream,System.Int32)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Int64)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteInt64(System.IO.Stream,System.Int64)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.UInt16)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteUInt16(System.IO.Stream,System.UInt16)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.UInt32)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteUInt32(System.IO.Stream,System.UInt32)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.UInt64)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteUInt64(System.IO.Stream,System.UInt64)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Half)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteHalf(System.IO.Stream,System.Half)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Single)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteFloat(System.IO.Stream,System.Single)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.Double)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteDouble(System.IO.Stream,System.Double)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadFixedString(System.IO.Stream,System.Int32,System.Byte)">
            <summary>
            Reads a <see cref="T:System.String"/> with fixed <paramref name="byteLength"/> trimmed by <paramref name="terminator"/> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="byteLength"></param>
            <param name="terminator"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadFixedString(System.IO.Stream,System.Text.Encoding,System.Int32,System.Byte)">
            <summary>
            Reads a <see cref="T:System.String"/> with fixed <paramref name="byteLength"/> trimmed by <paramref name="terminator"/> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="encoding"></param>
            <param name="byteLength"></param>
            <param name="terminator"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadString8(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.Byte"/> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadString8(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.Byte"/> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadString16(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.UInt16"/> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadString16(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.UInt16"/> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadTerminatedString(System.IO.Stream,System.Byte)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length terminated by <paramref name="terminator"/> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="terminator"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadTerminatedString(System.IO.Stream,System.Byte,System.Text.Encoding)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length terminated by <paramref name="terminator"/> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="terminator"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadNullTerminatedString(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length terminated by <c>0x00</c> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadNullTerminatedString(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Reads a <see cref="T:System.String"/> with dynamic length terminated by <c>0x00</c> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,axXez.Extensions.StringType)">
            <summary>
            Reads a <see cref="T:System.String"/> of <paramref name="type"/> using <see cref="P:System.Text.Encoding.UTF8"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="type"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,axXez.Extensions.StringType,System.Text.Encoding)">
            <summary>
            Reads a <see cref="T:System.String"/> of <paramref name="type"/> using <paramref name="encoding"/> from stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="type"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,System.Int32,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadFixedString(System.IO.Stream,System.Int32,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,System.Text.Encoding,System.Int32,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadFixedString(System.IO.Stream,System.Text.Encoding,System.Int32,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadTerminatedString(System.IO.Stream,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read(System.IO.Stream,System.String@,System.Byte,System.Text.Encoding)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadTerminatedString(System.IO.Stream,System.Byte,System.Text.Encoding)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteFixedString(System.IO.Stream,System.String,System.Int32,System.Byte)">
            <summary>
            Writes a <see cref="T:System.String"/> with fixed <paramref name="byteLength"/> filled by <paramref name="terminator"/> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="byteLength"></param>
            <param name="terminator"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteFixedString(System.IO.Stream,System.String,System.Text.Encoding,System.Int32,System.Byte)">
            <summary>
            Writes a <see cref="T:System.String"/> with fixed <paramref name="byteLength"/> filled by <paramref name="terminator"/> using <paramref name="encoding"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
            <param name="byteLength"></param>
            <param name="terminator"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteString8(System.IO.Stream,System.String)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.Byte"/> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <remarks>The maximum length is <c>255</c>.</remarks>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteString8(System.IO.Stream,System.String,System.Text.Encoding)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.Byte"/> using <paramref name="encoding"/> to stream.
            </summary>
            <remarks>The maximum length is <c>255</c>.</remarks>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteString16(System.IO.Stream,System.String)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.UInt16"/> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <remarks>The maximum length is <c>65535</c>.</remarks>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteString16(System.IO.Stream,System.String,System.Text.Encoding)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length specified in a leading <see cref="T:System.UInt16"/> using <paramref name="encoding"/> to stream.
            </summary>
            <remarks>The maximum length is <c>65535</c>.</remarks>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteTerminatedString(System.IO.Stream,System.String,System.Byte)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length terminated by <paramref name="terminator"/> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="terminator"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteTerminatedString(System.IO.Stream,System.String,System.Text.Encoding,System.Byte)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length terminated by <paramref name="terminator"/> using <paramref name="encoding"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
            <param name="terminator"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteNullTerminatedString(System.IO.Stream,System.String)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length terminated by <c>0x00</c> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteNullTerminatedString(System.IO.Stream,System.String,System.Text.Encoding)">
            <summary>
            Writes a <see cref="T:System.String"/> with dynamic length terminated by <c>0x00</c> using <paramref name="encoding"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,axXez.Extensions.StringType)">
            <summary>
            Writes a <see cref="T:System.String"/> of <paramref name="type"/> using <see cref="P:System.Text.Encoding.UTF8"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="type"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,System.Text.Encoding,axXez.Extensions.StringType)">
            <summary>
            Writes a <see cref="T:System.String"/> of <paramref name="type"/> using <paramref name="encoding"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
            <param name="encoding"></param>
            <param name="type"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,System.Int32,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteFixedString(System.IO.Stream,System.String,System.Int32,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,System.Text.Encoding,System.Int32,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteFixedString(System.IO.Stream,System.String,System.Text.Encoding,System.Int32,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteTerminatedString(System.IO.Stream,System.String,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write(System.IO.Stream,System.String,System.Text.Encoding,System.Byte)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteTerminatedString(System.IO.Stream,System.String,System.Text.Encoding,System.Byte)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadStreamable``1(System.IO.Stream)">
            <summary>
            Reads a <see cref="T:axXez.Extensions.IStreamReadable"/> from stream.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.ReadStreamable``1(System.IO.Stream,``0)">
            <summary>
            Reads a <see cref="T:axXez.Extensions.IStreamReadable"/> from stream.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="s"></param>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Read``1(System.IO.Stream,``0@)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.ReadStreamable``1(System.IO.Stream)"/>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.WriteStreamable``1(System.IO.Stream,``0)">
            <summary>
            Writes a <see cref="T:axXez.Extensions.IStreamWriteable"/> to stream.
            </summary>
            <param name="s"></param>
            <param name="value"></param>
        </member>
        <member name="M:axXez.Extensions.StreamExtensions.Write``1(System.IO.Stream,``0)">
            <inheritdoc cref="M:axXez.Extensions.StreamExtensions.WriteStreamable``1(System.IO.Stream,``0)"/>
        </member>
        <member name="T:axXez.Extensions.StringType">
            <summary>
            Byte representation type of a <see cref="T:System.String"/>.
            </summary>
        </member>
        <member name="F:axXez.Extensions.StringType.Fixed">
            <summary>
            String with fixed length.
            </summary>
        </member>
        <member name="F:axXez.Extensions.StringType.Dynamic8">
            <summary>
            String with dynamic length specified in a leading <see cref="T:System.Byte"/>.
            </summary>
        </member>
        <member name="F:axXez.Extensions.StringType.Dynamic16">
            <summary>
            String with dynamic length specified in a leading <see cref="T:System.UInt16"/>.
            </summary>
        </member>
        <member name="F:axXez.Extensions.StringType.NullTerminated">
            <summary>
            String with dynamic length terminated by <c>0x00</c>.
            </summary>
        </member>
        <member name="M:axXez.Extensions.TaskExtensions.BindTo(System.Threading.CancellationTokenSource,System.Threading.CancellationTokenSource)">
            <summary>
            Binds cancellation to <paramref name="target"/> cancellation.
            </summary>
            <param name="src"></param>
            <param name="target"></param>
        </member>
        <member name="M:axXez.Extensions.TaskExtensions.BindTo(System.Threading.CancellationTokenSource,System.Threading.CancellationToken)">
            <summary>
            Binds cancellation to <paramref name="token"/> cancellation.
            </summary>
            <param name="src"></param>
            <param name="token"></param>
        </member>
        <member name="T:axXez.Threading.ILoopTaskHandler">
            <summary>
            Provides a loop task controled by start and stop functions.
            </summary>
        </member>
        <member name="P:axXez.Threading.ILoopTaskHandler.Running">
            <summary>
            Indicates if the <see cref="T:axXez.Threading.ILoopTaskHandler"/> is running.
            </summary>
        </member>
        <member name="P:axXez.Threading.ILoopTaskHandler.AutoRestart">
            <summary>
            Controls if the <see cref="T:axXez.Threading.ILoopTaskHandler"/> automaticly restarts on failure.
            </summary>
        </member>
        <member name="P:axXez.Threading.ILoopTaskHandler.CanAutoRestart">
            <summary>
            Indicates if the <see cref="T:axXez.Threading.ILoopTaskHandler"/> supports automatic restart.
            </summary>
        </member>
        <member name="M:axXez.Threading.ILoopTaskHandler.Start">
            <summary>
            Start the <see cref="T:axXez.Threading.ILoopTaskHandler"/>.
            </summary>
        </member>
        <member name="M:axXez.Threading.ILoopTaskHandler.Start(System.Threading.CancellationToken)">
            <summary>
            Start the <see cref="T:axXez.Threading.ILoopTaskHandler"/>.
            </summary>
            <param name="token">A <see cref="T:System.Threading.CancellationToken"/> used to cancel the loop.</param>
        </member>
        <member name="M:axXez.Threading.ILoopTaskHandler.Stop(System.Boolean,System.Int32)">
            <summary>
            Stop the <see cref="T:axXez.Threading.ILoopTaskHandler"/>.
            </summary>
            <param name="wait">Waits for the <see cref="T:axXez.Threading.ILoopTaskHandler"/> to complete execution before returning.</param>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
        </member>
        <member name="M:axXez.Threading.ILoopTaskHandler.WaitForStop(System.Int32)">
            <summary>
            Waits for the <see cref="T:axXez.Threading.ILoopTaskHandler"/> to complete execution.
            </summary>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
        </member>
        <member name="T:axXez.Threading.LoopTask">
            <summary>
            Represents a generic <see cref="T:axXez.Threading.LoopTaskHandler"/> looping a callback.
            </summary>
        </member>
        <member name="M:axXez.Threading.LoopTask.loop(System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:axXez.Threading.LoopTask.loopStart(System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:axXez.Threading.LoopTask.loopStop(System.Exception)">
            <inheritdoc/>
        </member>
        <member name="T:axXez.Threading.LoopTaskHandler">
            <summary>
            Provides a looped <see cref="T:System.Threading.Tasks.Task"/> controlled by start and stop functions.
            </summary>
        </member>
        <member name="P:axXez.Threading.LoopTaskHandler.StopToken">
            <summary>
            <see cref="T:System.Threading.CancellationToken"/> used for the loop <see cref="T:System.Threading.Tasks.Task"/> to cancel.
            </summary>
        </member>
        <member name="P:axXez.Threading.LoopTaskHandler.Task">
            <summary>
            <see cref="T:System.Threading.Tasks.Task"/> running the internal loop function.
            </summary>
        </member>
        <member name="P:axXez.Threading.LoopTaskHandler.Running">
            <summary>
            Indicates if the <see cref="T:axXez.Threading.LoopTaskHandler"/> is running.
            </summary>
        </member>
        <member name="P:axXez.Threading.LoopTaskHandler.AutoRestart">
            <summary>
            Controls if the <see cref="T:axXez.Threading.LoopTaskHandler"/> automaticly restarts on failure.
            </summary>
        </member>
        <member name="P:axXez.Threading.LoopTaskHandler.CanAutoRestart">
            <summary>
            Indicates if the <see cref="T:axXez.Threading.LoopTaskHandler"/> supports automatic restart.
            </summary>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.Start">
            <summary>
            Start the <see cref="T:axXez.Threading.LoopTaskHandler"/>.
            </summary>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.Stop(System.Boolean,System.Int32)">
            <summary>
            Stop the <see cref="T:axXez.Threading.LoopTaskHandler"/>.
            </summary>
            <param name="wait">Waits for the <see cref="T:axXez.Threading.LoopTaskHandler"/> to complete execution before returning.</param>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.BindCancellation(System.Threading.CancellationToken)">
            <summary>
            Bind an additional <see cref="T:System.Threading.CancellationToken"/> to the <see cref="T:axXez.Threading.LoopTaskHandler"/> for cancellation.
            </summary>
            <param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> used to stop the <see cref="T:axXez.Threading.LoopTaskHandler"/>.</param>
            <exception cref="T:System.OperationCanceledException"></exception>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.StopAsync(System.Boolean,System.Int32)">
            <summary>
            Stop the <see cref="T:axXez.Threading.LoopTaskHandler"/> asynchronously.
            </summary>
            <param name="wait"></param>
            <param name="timeout"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.StopAsync(System.Threading.CancellationToken,System.Boolean,System.Int32)">
            <summary>
            Stop the <see cref="T:axXez.Threading.LoopTaskHandler"/> asynchronously.
            </summary>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for a cancellation request.</param>
            <param name="wait"></param>
            <param name="timeout"></param>
            <returns></returns>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.WaitForStop(System.Int32)">
            <summary>
            Waits for the <see cref="T:axXez.Threading.LoopTaskHandler"/> to complete execution.
            </summary>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.WaitForStopAsync(System.Int32)">
            <summary>
            Waits for the <see cref="T:axXez.Threading.LoopTaskHandler"/> to complete execution asynchronously.
            </summary>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <returns></returns>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.WaitForStopAsync(System.Threading.CancellationToken,System.Int32)">
            <summary>
            Waits for the <see cref="T:axXez.Threading.LoopTaskHandler"/> to complete execution asynchronously.
            </summary>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for a cancellation request.</param>
            <param name="timeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
            <returns></returns>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.loop(System.Threading.CancellationToken)">
            <summary>
            Gets executed in loop while <see cref="T:axXez.Threading.LoopTaskHandler"/> is running.
            </summary>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for a cancellation request.</param>
            <returns></returns>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.loopStart(System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Gets executed once when <see cref="T:axXez.Threading.LoopTaskHandler"/> is started.
            </summary>
            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to monitor for a cancellation request.</param>
            <param name="isAutoRestart">Indicates if start was caused by auto restart.</param>
        </member>
        <member name="M:axXez.Threading.LoopTaskHandler.loopStop(System.Exception)">
            <summary>
            Gets executed once when <see cref="T:axXez.Threading.LoopTaskHandler"/> is stopped or failed because an unhandled exception was thrown.
            </summary>
            <param name="exception">The unhandled exception thrown when loop task has failed, otherwise null.</param>
        </member>
        <member name="T:axXez.Utils.CommandLineParameter">
            <summary>
            Describes a parameter registered with <see cref="T:axXez.Utils.CommandLineParser"/>.
            </summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.Name">
            <summary>Lowercased primary name.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.Shortcut">
            <summary>Lowercased shortcut, or <c>null</c> if none.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.Index">
            <summary>Positional index, or <c>null</c> if name-only.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.Type">
            <summary>Expected value type.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.IsRequired">
            <summary>Whether the parameter must be present for the result to be valid.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParameter.DefaultValue">
            <summary>Value used when the parameter is absent and not required.</summary>
        </member>
        <member name="T:axXez.Utils.CommandLineParser">
            <summary>
            Parses commandline arguments against a set of pre-registered parameters and switches.
            All parameters must be registered via the constructor callback; the parser is immutable after construction.
            </summary>
        </member>
        <member name="P:axXez.Utils.CommandLineParser.Parameters">
            <summary>All registered parameters in registration order. Available after construction.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.#ctor(System.Action{axXez.Utils.CommandLineParser})">
            <summary>
            Creates a parser, invokes <paramref name="register"/> to add parameters, then seals the instance.
            <see cref="M:axXez.Utils.CommandLineParser.Register(System.String,System.Type,System.Boolean,System.Object)"/> and <see cref="M:axXez.Utils.CommandLineParser.RegisterSwitch(System.String,System.String)"/> cannot be called after construction.
            </summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register(System.String,System.Type,System.Boolean,System.Object)">
            <summary>Registers a typed parameter matched by name only.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register(System.String,System.String,System.Type,System.Boolean,System.Object)">
            <summary>Registers a typed parameter matched by name or shortcut.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register(System.String,System.Int32,System.Type,System.Boolean,System.Object)">
            <summary>Registers a typed parameter matched by name or positional index.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register(System.String,System.String,System.Int32,System.Type,System.Boolean,System.Object)">
            <summary>Registers a typed parameter matched by name, shortcut, or positional index.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register``1(System.String,System.Boolean,``0)">
            <summary>Registers a typed parameter matched by name only.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register``1(System.String,System.String,System.Boolean,``0)">
            <summary>Registers a typed parameter matched by name or shortcut.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register``1(System.String,System.Int32,System.Boolean,``0)">
            <summary>Registers a typed parameter matched by name or positional index.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Register``1(System.String,System.String,System.Int32,System.Boolean,``0)">
            <summary>Registers a typed parameter matched by name, shortcut, or positional index.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.RegisterSwitch(System.String,System.String)">
            <summary>Registers a boolean switch. Supports <c>-name</c> (presence = true), <c>-name true/1</c>, and <c>-name false/0</c>.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Process(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Parses <paramref name="args"/> and binds values to all registered parameters.
            </summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.GenerateHelp">
            <summary>Generates a human-readable description of all registered parameters.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.Process(System.String)">
            <summary>
            Parses <paramref name="commandline"/> by splitting it into args first, then binding to all registered parameters.
            </summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.SplitToArgs(System.String)">
            <summary>Splits a commandline string into an argument array, respecting quoted strings.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineParser.SplitToArgs(System.String,System.String)">
            <summary>Splits a commandline string into an argument array using a custom separator.</summary>
        </member>
        <member name="T:axXez.Utils.CommandLineResult">
            <summary>
            The result of a <see cref="M:axXez.Utils.CommandLineParser.Process(System.Collections.Generic.IEnumerable{System.String})"/> call. Holds converted parameter values and any missing required parameters.
            </summary>
        </member>
        <member name="P:axXez.Utils.CommandLineResult.Missing">
            <summary>Names of required parameters that were not provided or could not be converted.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineResult.IsValid">
            <summary>Whether all required parameters were successfully bound.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineResult.Values">
            <summary>All bound values in registration order.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineResult.Item(System.String)">
            <summary>Returns the raw bound value for the parameter with the given name, or <c>null</c> if not found.</summary>
        </member>
        <member name="P:axXez.Utils.CommandLineResult.Item(System.Int32)">
            <summary>Returns the raw bound value of the parameter at registration <paramref name="index"/>.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineResult.Get``1(System.String)">
            <summary>Returns the converted value for the parameter with the given name, or <c>default</c> if not found.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineResult.Get``1(System.Int32)">
            <summary>Returns the converted value of the parameter at registration <paramref name="index"/>.</summary>
        </member>
        <member name="M:axXez.Utils.CommandLineResult.TryGet``1(System.String,``0@)">
            <summary>Returns true and sets <paramref name="value"/> if the parameter was successfully bound.</summary>
        </member>
        <member name="T:axXez.Utils.ConfigFile">
            <summary>
            JSON Configuration File Class
            </summary>
        </member>
        <member name="P:axXez.Utils.ConfigFile.ConfigDefaultFileName">
            <summary>
            Default config filename. Default: <b>config.json</b>
            </summary>
        </member>
        <member name="P:axXez.Utils.ConfigFile.ConfigAutoCreate">
            <summary>
            Automaticly create default instance of config class if file doesn't exists. Default: <b>True</b>
            </summary>
        </member>
        <member name="P:axXez.Utils.ConfigFile.ConfigAutoUpdate">
            <summary>
            Automaticly save config file after loading to update new properties. Default: <b>True</b>
            </summary>
        </member>
        <member name="P:axXez.Utils.ConfigFile.ConfigOptions">
            <summary>
            JSON Serializer Options.
            </summary>
            <remarks>Default: <see cref="P:System.Text.Json.JsonSerializerOptions.WriteIndented"/>, <see cref="P:System.Text.Json.JsonSerializerOptions.AllowTrailingCommas"/> and <see cref="P:System.Text.Json.JsonSerializerOptions.PropertyNameCaseInsensitive"/> is set to <b>True</b>.</remarks> 
        </member>
        <member name="P:axXez.Utils.ConfigFile.ConfigFileName">
            <summary>
            Config filename from currently loaded instance.
            </summary>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Load(System.Type,axXez.Utils.ConfigFile@)">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename.
            </summary>
            <param name="configType">type of config class</param>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Load(System.String,System.Type,axXez.Utils.ConfigFile@)">
            <summary>
            Load JSON config file.
            </summary>
            <param name="filename">path to config file</param>
            <param name="configType">type of config class</param>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Load``1(``0@)">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename.
            </summary>
            <typeparam name="T">type of config class</typeparam>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Load``1(System.String,``0@)">
            <summary>
            Load JSON config file.
            </summary>
            <typeparam name="T">type of config class</typeparam>
            <param name="filename">path to config file</param>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Save">
            <summary>
            Save JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigFileName"/>.
            </summary>
        </member>
        <member name="M:axXez.Utils.ConfigFile.Save(System.String)">
            <summary>
            Save JSON config file.
            </summary>
            <param name="filename">path to config file</param>
        </member>
        <member name="T:axXez.Utils.ConfigFile`1">
            <summary>
            JSON Configuration File Class with generic type
            </summary>
        </member>
        <member name="P:axXez.Utils.ConfigFile`1.Global">
            <summary>
            Actual loaded global config instance.
            </summary>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load(`0@)">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename.
            </summary>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load(System.String,`0@)">
            <summary>
            Load JSON config file.
            </summary>
            <param name="filename">path to config file</param>
            <param name="config">loaded config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename, into global static variable.
            </summary>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load(System.String)">
            <summary>
            Load JSON config file into global static variable.
            </summary>
            <param name="filename">path to config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load(System.Type)">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename, into global static variable.
            </summary>
            <param name="configType">type of config class</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load(System.String,System.Type)">
            <summary>
            Load JSON config file into global static variable.
            </summary>
            <param name="filename">path to config file</param>
            <param name="configType">type of config class</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load``1">
            <summary>
            Load JSON config file by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename, into global static variable.
            </summary>
            <typeparam name="T">type of config class</typeparam>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.Load``1(System.String)">
            <summary>
            Load JSON config file into global static variable.
            </summary>
            <typeparam name="T">type of config class</typeparam>
            <param name="filename">path to config file</param>
            <returns><b>True</b> if file was found and successfully loaded, otherwise <b>False</b>, even if file was automaticly created.</returns>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.SaveGlobal">
            <summary>
            Save JSON config stored in global static variable by using <see cref="P:axXez.Utils.ConfigFile.ConfigDefaultFileName"/> as filename.
            </summary>
        </member>
        <member name="M:axXez.Utils.ConfigFile`1.SaveGlobal(System.String)">
            <summary>
            Save JSON config stored in global static variable.
            </summary>
            <param name="filename">path to config file</param>
        </member>
        <member name="T:axXez.Utils.ConsoleMainThread">
            <summary>
            Handles process main thread blocking and exit to safely stop program, even on receiving <b>SIGINT</b> or <b>SIGTERM</b>.
            </summary>
        </member>
        <member name="T:axXez.Utils.ConsoleMainThread.ExitSource">
            <summary>
            Process main thread exit sources.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.Unknown">
            <summary>
            Process exit was triggered from unknown source.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.Close">
            <summary>
            Process was closed by user.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.Cancel">
            <summary>
            Process was canceled by user.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.Exception">
            <summary>
            Process exit was triggered by an unhandled exception.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.SIGINT_CTRLC">
            <summary>
            Process exit was triggered by SIGINT (CTRL+C pressed by user).
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.ExitSource.SIGTERM">
            <summary>
            Prosess exit was triggered by SIGTERM (process got killed).
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.blockEvent">
            <summary>
            Used to block main thread.
            </summary>
        </member>
        <member name="F:axXez.Utils.ConsoleMainThread.programExit">
            <summary>
            Used as global exit token.
            </summary>
        </member>
        <member name="P:axXez.Utils.ConsoleMainThread.AutoPrint">
            <summary>
            Automaticly print main thread exit informations to console.
            </summary>
        </member>
        <member name="P:axXez.Utils.ConsoleMainThread.ExitToken">
            <summary>
            Process main thread cancellation token.
            </summary>
        </member>
        <member name="P:axXez.Utils.ConsoleMainThread.Active">
            <summary>
            Indicates if process main thread is still active.
            </summary>
        </member>
        <member name="P:axXez.Utils.ConsoleMainThread.ExitCode">
            <inheritdoc cref="P:System.Environment.ExitCode"/>
        </member>
        <member name="P:axXez.Utils.ConsoleMainThread.ExitTimeout">
            <summary>
            The number of milliseconds to wait for tasks to exit.
            </summary>
        </member>
        <member name="E:axXez.Utils.ConsoleMainThread.OnExit">
            <summary>
            Process main thread exit event. Can be used to safly stop services or flush file handles.
            </summary>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Block(System.Action)">
            <summary>
            Blocks the main function of the program until it's closed by any source.
            </summary>
            <param name="onExitCallback">Exit callback similar to <see cref="E:axXez.Utils.ConsoleMainThread.OnExit"/> event.</param>
            <returns><b>True</b> if closed by <see cref="F:axXez.Utils.ConsoleMainThread.ExitSource.Close"/>, otherwise <b>False</b></returns>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Block(axXez.Utils.ConsoleMainThread.ExitHandler)">
            <summary>
            Blocks the main function of the program until it's closed by any source.
            </summary>
            <param name="onExitCallback">Exit callback similar to <see cref="E:axXez.Utils.ConsoleMainThread.OnExit"/> event.</param>
            <returns><b>True</b> if closed by <see cref="F:axXez.Utils.ConsoleMainThread.ExitSource.Close"/>, otherwise <b>False</b></returns>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Close">
            <summary>
            Exit <see cref="M:axXez.Utils.ConsoleMainThread.Block(axXez.Utils.ConsoleMainThread.ExitHandler)"/> with <see cref="F:axXez.Utils.ConsoleMainThread.ExitSource.Close"/>
            </summary>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Cancel">
            <summary>
            Exit <see cref="M:axXez.Utils.ConsoleMainThread.Block(axXez.Utils.ConsoleMainThread.ExitHandler)"/> with <see cref="F:axXez.Utils.ConsoleMainThread.ExitSource.Cancel"/>
            </summary>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Register(System.Threading.CancellationTokenSource)">
            <summary>
            Register an additional <see cref="T:System.Threading.CancellationTokenSource"/> to the <see cref="T:axXez.Utils.ConsoleMainThread"/>. It will get automaticly canceled if process gets closed by any source.
            </summary>
            <param name="tokenSource"><see cref="T:System.Threading.CancellationTokenSource"/> to register</param>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.Register(System.Threading.Tasks.Task)">
            <summary>
            Register a <see cref="T:System.Threading.Tasks.Task"/> to the <see cref="T:axXez.Utils.ConsoleMainThread"/> wich automatically waits for it to finish when the process is closed by any source.
            </summary>
            <param name="task"><see cref="T:System.Threading.Tasks.Task"/> to register</param>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.RegisterToMainThread(System.Threading.CancellationTokenSource)">
            <summary>
            Register <see cref="T:System.Threading.CancellationTokenSource"/> to the <see cref="T:axXez.Utils.ConsoleMainThread"/>. It will get automaticly canceled if process gets closed by any source.
            </summary>
            <param name="tokenSource"></param>
        </member>
        <member name="M:axXez.Utils.ConsoleMainThread.RegisterToMainThread(System.Threading.Tasks.Task)">
            <summary>
            Register <see cref="T:System.Threading.Tasks.Task"/> to the <see cref="T:axXez.Utils.ConsoleMainThread"/> wich automatically waits for it to finish when the process is closed by any source.
            </summary>
            <param name="task"></param>
        </member>
        <member name="T:axXez.Utils.StringConverter">
            <summary>
            Converts strings to typed values using registered parsers.
            Built-in parsers are pre-registered for all common .NET primitives.
            Custom types can be added via <see cref="M:axXez.Utils.StringConverter.Register``1(axXez.Utils.StringConverter.TryParseFunc{``0})"/>.
            Enums are handled automatically without registration.
            Nullable types are unwrapped and their underlying type is converted.
            All numeric conversions use <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
            </summary>
        </member>
        <member name="T:axXez.Utils.StringConverter.TryParseFunc`1">
            <summary>
            Delegate matching the standard TryParse signature pattern.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.HasConverter(System.Type)">
            <summary>
            Returns true if a converter is registered for <paramref name="targetType"/>, or if the type is an enum or <see cref="T:System.Nullable`1"/> of a convertible type.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.HasConverter``1">
            <summary>
            Returns true if a converter is registered for <typeparamref name="T"/>, or if the type is an enum or <see cref="T:System.Nullable`1"/> of a convertible type.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.Register``1(axXez.Utils.StringConverter.TryParseFunc{``0})">
            <summary>
            Registers a custom parser for type <typeparamref name="T"/>.
            Overwrites any existing registration for that type.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.TryConvert(System.String,System.Type,System.Object@)">
            <summary>
            Tries to convert <paramref name="value"/> to <paramref name="targetType"/>.
            Handles registered types, enums, and <see cref="T:System.Nullable`1"/> automatically.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.TryConvert``1(System.String,``0@)">
            <summary>
            Tries to convert <paramref name="value"/> to <typeparamref name="T"/>.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.Convert(System.String,System.Type)">
            <summary>
            Converts <paramref name="value"/> to <paramref name="targetType"/>.
            Throws <see cref="T:System.InvalidCastException"/> if conversion fails.
            </summary>
        </member>
        <member name="M:axXez.Utils.StringConverter.Convert``1(System.String)">
            <summary>
            Converts <paramref name="value"/> to <typeparamref name="T"/>.
            Throws <see cref="T:System.InvalidCastException"/> if conversion fails.
            </summary>
        </member>
    </members>
</doc>
