1
0
mirror of https://github.com/chylex/Brotli-Builder.git synced 2024-12-22 16:42:46 +01:00
Brotli-Builder/BrotliLib/Serialization/BitSerialization.cs

27 lines
1.2 KiB
C#

using BrotliLib.Serialization.Reader;
using BrotliLib.Serialization.Writer;
namespace BrotliLib.Serialization{
/// <summary>
/// Provides a generic way of deserializing a <see cref="BitStream"/> into an object.
/// </summary>
/// <typeparam name="T">Type to convert.</typeparam>
/// <typeparam name="C">Type used to provide context.</typeparam>
public delegate T BitDeserializer<T, C>(IBitReader reader, C context);
/// <summary>
/// Provides a generic way of serializing an object into a <see cref="BitStream"/>.
/// </summary>
/// <typeparam name="T">Type to convert.</typeparam>
/// <typeparam name="C">Type used to provide context.</typeparam>
public delegate void BitSerializer<T, C>(IBitWriter writer, T obj, C context);
/// <summary>
/// Provides a generic way of serializing an object into a <see cref="BitStream"/>.
/// </summary>
/// <typeparam name="T">Type to convert.</typeparam>
/// <typeparam name="C">Type used to provide context.</typeparam>
/// <typeparam name="P">Type containing additional parameters passed down the serialization chain.</typeparam>
public delegate void BitSerializer<T, C, P>(IBitWriter writer, T obj, C context, P parameters);
}