using System.Runtime.InteropServices; namespace LLama.Native; /// /// ID for a sequence in a batch /// [StructLayout(LayoutKind.Sequential)] public record struct LLamaSeqId { /// /// The raw value /// public int Value; /// /// Create a new LLamaSeqId /// /// private LLamaSeqId(int value) { Value = value; } /// /// Convert a LLamaSeqId into an integer (extract the raw value) /// /// public static explicit operator int(LLamaSeqId pos) => pos.Value; /// /// Convert an integer into a LLamaSeqId /// /// /// public static explicit operator LLamaSeqId(int value) => new(value); }