namespace AyCode.Core.Serializers;

/// <summary>
/// Abstract base class for all serialization contexts (Binary, JSON, Toon).
/// Provides common serialization operations.
/// Derived classes are sealed for JIT devirtualization (direct call speed).
/// </summary>
/// <typeparam name="TMetadata">The concrete metadata type for serialization.</typeparam>
/// <typeparam name="TOptions">The concrete options type.</typeparam>
public abstract class SerializationContextBase<TMetadata, TOptions> : AcSerializerContextBase<TMetadata, TOptions>
    where TMetadata : TypeMetadataBase
    where TOptions : AcSerializerOptions
{
    #region Reset

    /// <summary>
    /// Resets serialization-specific state. Called by derived classes.
    /// </summary>
    public override void Reset(TOptions options)
    {
        base.Reset(options);
        // Future: Reset serialization-specific state
    }

    #endregion
}
