internal static string TakeIf(this InputReader input, params char[] anyOf) { input.SkipWhiteSpace(); if (input.NextIs(anyOf)) { return(input.Next().ToString()); } return(""); }
internal static string TakeWhile(this InputReader input, Func <char, bool> predicate) { input.SkipWhiteSpace(); string token = ""; while (input.HasNext() && predicate(input.PeekNext())) { token += input.Next(); } return(token); }
internal static bool NextIs(this InputReader input, params char[] anyOf) { input.SkipWhiteSpace(); return(input.HasNext() && anyOf.Contains(input.PeekNext())); }