#include "beatset.h" #include using json = nlohmann::json; namespace Beatsaber { class BeatSetImpl : public BeatSet, protected std::enable_shared_from_this { protected: std::weak_ptr parent; BeatmapCharacteristic::BeatmapCharacteristic characteristic; public: BeatSetImpl(std::weak_ptr p, const json& j); BeatSetImpl(const BeatSetImpl& c) = default; BeatSetImpl() = default; virtual ~BeatSetImpl(); virtual BeatmapCharacteristic::BeatmapCharacteristic getCharacteristic() const override; virtual std::shared_ptr getBeatMap() const override; }; }