libBeatsaber/include/beatsaber-impl/beatsetimpl.h

26 lines
626 B
C++

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