public static bool StartsWith( this ISingleLinkedList <ContextData> context, Enum firstPtr, out ContextData first, out ISingleLinkedList <ContextData> tail) { if (context.StartsWith(firstPtr, out first)) { tail = context.Tail; return(true); } tail = null; return(true); }
public static bool StartsWith( this ISingleLinkedList <ContextData> context, Enum firstPtr, Enum secondPtr, out ContextData first, out ContextData second, out ISingleLinkedList <ContextData> tail) { if (context.StartsWith(firstPtr, out first, out var rest) && rest.StartsWith(secondPtr, out second, out tail)) { return(true); } first = null; second = null; tail = null; return(false); }
public static bool StartsWith( this ISingleLinkedList <ContextData> context, Enum firstPtr) => context.StartsWith(firstPtr, out _);