1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * @brief Defines the base class for all file formats
- * @file aman/config/FileFormat.h
- * @author Sven Czarnian <devel@svcz.de>
- * @copyright Copyright 2021 Sven Czarnian
- * @license This project is published under the GNU General Public License v3 (GPLv3)
- */
- #pragma once
- #include <cstdint>
- #include <string>
- namespace aman {
- /**
- * @brief Defines the base class for all file formats
- * @ingroup format
- *
- * The base class provides error information, etc.
- */
- class FileFormat {
- protected:
- std::uint32_t m_errorLine; /**< Defines the line number if a parser detected an error */
- std::string m_errorMessage; /**< Defines the descriptive error message */
- /**
- * @brief Creates the default file format
- */
- FileFormat() noexcept;
- /**
- * @brief Resets the internal structures
- */
- void reset() noexcept;
- public:
- /**
- * @brief Checks if an error was found
- * @return True if an error was found, else false
- */
- bool errorFound() const noexcept;
- /**
- * @brief Returns the error line
- * @return The error line
- */
- std::uint32_t errorLine() const noexcept;
- /**
- * @brief Returns the error message
- * @return The error message
- */
- const std::string& errorMessage() const noexcept;
- };
- }
|