Class IIVCoordParser

Inheritance Relationships

Derived Type

Class Documentation

class IIVCoordParser

Interface for parsing a QC output file to extract optimized geometry and displacement vectors for the first imaginary normal mode.

Implementations must be stateless — a single instance may be called multiple times for different files.

Subclassed by GaussianIVCoordParser

Public Functions

virtual ~IIVCoordParser() = default
virtual bool can_parse(const std::string &filepath) = 0

Detect whether this parser can handle the given file.

Should be fast (read a small number of lines only). Must not throw.

Parameters:

filepath – Absolute or relative path to the output file.

Returns:

true if the file belongs to the QC program this parser handles.

virtual IVCoordData parse(const std::string &filepath) = 0

Parse the file and return geometry + displacement data.

Called only when can_parse() already returned true for this file.

Parameters:

filepath – Absolute or relative path to the output file.

Returns:

Populated IVCoordData (check parsed_ok and error_message).