// MIT License - Copyright (c) 2026 wallstop
// Full license text: https://github.com/wallstop/unity-helpers/blob/main/LICENSE
namespace WallstopStudios.UnityHelpers.Core.DataStructure
{
using System;
///
/// Specifies the reason why an entry was evicted from a .
/// Used in eviction callbacks to distinguish between different removal scenarios.
///
public enum EvictionReason
{
///
/// Reserved for uninitialized state. Do not use directly.
///
[Obsolete("Use a specific EvictionReason value.")]
Unknown = 0,
///
/// The entry was removed because its time-to-live (TTL) expired.
/// Applies to entries with
/// or .
///
Expired = 1,
///
/// The entry was removed to make room for new entries when the cache reached its maximum capacity.
/// The specific entry chosen depends on the configured .
///
Capacity = 2,
///
/// The entry was explicitly removed via
/// or .
///
Explicit = 3,
///
/// The entry was replaced by a new value via
/// or .
///
Replaced = 4,
}
}