#ifndef IRREGULARITY_FILE_H #define IRREGULARITY_FILE_H #include #include #include "Irregularity.h" using json = nlohmann::json; class IrregularityFile { private: /* data */ uint16_t offset; std::list irregularities; public: IrregularityFile(uint16_t offset, std::list irregularities); ~IrregularityFile(); static IrregularityFile fromJSON(const json j); json toJSON(); uint16_t getOffset() const; std::list getIrregularities() const; IrregularityFile add(const Irregularity irregularity); IrregularityFile remove_by_id(const boost::uuids::uuid id); IrregularityFile sort(); }; #endif // IRREGULARITY_FILE_H