32 lines
796 B
C#
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();
|
|
}
|
|
}
|