25     [[nodiscard]] 
virtual std::tuple<std::vector<Particle>, std::optional<SimulationParams>> 
readFile(
 
   26         const std::filesystem::path& filepath) 
const = 0;
 
   35         [[nodiscard]] 
const char* 
what() const noexcept
 override { 
return message_.c_str(); }
 
Abstract base class for all custom file readers.
 
virtual std::tuple< std::vector< Particle >, std::optional< SimulationParams > > readFile(const std::filesystem::path &filepath) const =0
Reads the file with the given path and returns a vector of particles.
 
virtual ~FileReader()=default
virtual destructor for correct cleanup of derived classes