synopsis:
static sdds::Reader open(const std::filesystem::path &path,
sdds::ReaderOptions options = {});
static sdds::Reader openHeaderless(const std::filesystem::path &path,
sdds::Layout layout,
sdds::ReaderOptions options = {});
static sdds::Reader fromStdin(sdds::ReaderOptions options = {});
static sdds::Reader fromSource(std::unique_ptr<sdds::InputSource> source,
std::string sourceName = {},
sdds::ReaderOptions options = {});
static sdds::Reader fromHeaderlessSource(
std::unique_ptr<sdds::InputSource> source, sdds::Layout layout,
std::string sourceName = {}, sdds::ReaderOptions options = {});