<commit_before>#ifndef __ZOMBYE_INPUT_MANAGER_HPP__
#define __ZOMBYE_INPUT_MANAGER_HPP__

#include <cmath>
#include <unordered_map>
#include <utility>
#include <functional>
#include <string>
#include <queue>

namespace zombye {
    class button;
    class input_system;
}

namespace zombye {
    class input_manager {
    public:
        input_manager(input_system*);

        void register_event(std::string, button&);
        void register_up_event(std::string, button&);

        void register_keyboard_event(std::string, std::string);
        void register_keyboard_up_event(std::string, std::string);

        void register_action(std::string, std::function<void()>);

        void handle_input();

    private:
        input_system *input_;

        std::unordered_map<std::string, std::function<void()>> commands_;
        std::queue<std::function<void()>> event_queue_;<commit_msg>add missing declaration of added function in 0546a4d44c6453329572d0b0a88904b59be28b7b<commit_after>#ifndef __ZOMBYE_INPUT_MANAGER_HPP__
#define __ZOMBYE_INPUT_MANAGER_HPP__

#include <cmath>
#include <unordered_map>
#include <utility>
#include <functional>
#include <string>
#include <queue>

namespace zombye {
    class button;
    class game;
    class input_system;
}

namespace zombye {
    class input_manager {
    public:
        input_manager(input_system*);

        void register_event(std::string, button&);
        void register_up_event(std::string, button&);

        void register_keyboard_event(std::string, std::string);
        void register_keyboard_up_event(std::string, std::string);

        void register_action(std::string, std::function<void()>);
        void register_actions(game& game, const std::string& file_name);

        void handle_input();

    private:
        input_system *input_;

        std::unordered_map<std::string, std::function<void()>> commands_;
        std::queue<std::function<void()>> event_queue_;
{'fraction_non_alphanumeric': 0.11500773594636411, 'fraction_numerical': 0.014956162970603403, 'mean_word_length': 4.418994413407821, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3389203', 'n_tokens_mistral': 646, 'n_tokens_neox': 613, 'n_words': 120}