AdventOfCode/AdventOfCode.Core/Shared/IO/IInputReader.cs
2024-12-01 10:17:24 +01:00

32 lines
796 B
C#

using AdventOfCode.Core.Shared.Grid;
namespace AdventOfCode.Core.Shared.IO
{
public interface IInputReader
{
int Day { get; set; }
int Year { get; set; }
void SetInput(IChallange challange);
void SetInput(int day, int year);
void SetSampleInput(bool isSample);
Task<string> ReadAsString();
IAsyncEnumerable<string> ReadAsStringLine();
Task<string[]> ReadAsArrayString();
Task<string[]> ReadAsVerticalArrayString();
IAsyncEnumerable<T> ReadAsStringLine<T>(T emptyLineIndicator);
IAsyncEnumerable<long[]> ReadLineAsLongArray(string seperator);
Task<Grid<T>> ReadToGrid<T>() where T : Point, new();
IAsyncEnumerable<Grid<T>> ReadToGrids<T>() where T : Node, new();
}
}