Program Listing for File PDJE_Match.hpp
↰ Return to documentation for file (include\judge\Loop\Match\PDJE_Match.hpp)
#pragma once
#include "PDJE_Judge_Init.hpp"
#include "PDJE_Note_OBJ.hpp"
#include "PDJE_PreProcess.hpp"
#include "PDJE_Rule.hpp"
#include <cstdint>
namespace PDJE_JUDGE {
class Match {
private:
PreProcess *pre;
Judge_Init *init;
P_NOTE_VEC found_list;
std::vector<mouse_btn_event> mouse_btn_ev_queue;
void
ParseMouse(const BITMASK ev, RAIL_KEY::KB_MOUSE &key);
public:
void
Work(const LOCAL_TIME input_time,
const P_NOTE_VEC ¬e_list,
const uint64_t railid,
const bool isPressed);
template <PDJE_Dev_Type D>
void
UseEvent(const PDJE_Input_Log &ilog);
void
UseEvent(const PDJE_MIDI::MIDI_EV &ilog);
Match(PreProcess *preproc, Judge_Init *judge_init)
{
init = judge_init;
pre = preproc;
mouse_btn_ev_queue.reserve(7);
}
~Match() = default;
};
}; // namespace PDJE_JUDGE