<commit_before>#ifndef HEARTHSTONEPP_MODIFY_MANA_TASK_H
#define HEARTHSTONEPP_MODIFY_MANA_TASK_H

#include <Tasks/Tasks.h>

namespace Hearthstonepp
{
enum class NumMode
{
    ADD = 0,
    SUB = 1,
    SET = 2,
};

enum class ManaMode
{
    TOTAL = 0,
    EXIST = 1,
};

namespace BasicTasks
{
//!
//! \brief ModifyManaTask class.
//!
//! This class represents the task for modifying mana of player.
//!
class ModifyManaTask : public ITask
{
 public:
    //! Constructs task with given \p numMode, \p manaMode and \p num.
    //! \param numMode A value that specifies the operation of \p num.
    //! \param manaMode A value that specifies whether the modified mana is
    //! one-time or permanent.
    //! \param num A value indicating how much to modify mana.
    ModifyManaTask(NumMode numMode, ManaMode manaMode, BYTE num);

    //! Returns task ID.
    //! \return Task ID.
    TaskID GetTaskID() const override;

 private:
    //! Processes task logic internally and returns meta data.
    //! \param player1 The first player.
    //! \param player2 The second player.
    //! \return The result of task processing.
    MetaData Impl(Player& player1, Player& player2) override;

    NumMode m_numMode;
    ManaMode m_manaMode;
    BYTE m_num;
};
};  // namespace BasicTasks
}  // namespace Hearthstonepp

#endif  // HEARTHSTONEPP_MODIFYMANA_H
<commit_msg>[ci skip] docs: Add comments for doxygen<commit_after>#ifndef HEARTHSTONEPP_MODIFY_MANA_TASK_H
#define HEARTHSTONEPP_MODIFY_MANA_TASK_H

#include <Tasks/Tasks.h>

namespace Hearthstonepp
{
//! Num mode to change mana.
// TODO: We'll refactor later.
enum class NumMode
{
    ADD = 0,  //!< Add mana.
    SUB = 1,  //!< Subtract mana.
    SET = 2,  //!< Set mana.
};

//! Mana mode to change mana.
// TODO: We'll refactor later.
enum class ManaMode
{
    TOTAL = 0,  //!< Total mana.
    EXIST = 1,  //!< Temporary mana.
};

namespace BasicTasks
{
//!
//! \brief ModifyManaTask class.
//!
//! This class represents the task for modifying mana of player.
//!
class ModifyManaTask : public ITask
{
 public:
    //! Constructs task with given \p numMode, \p manaMode and \p num.
    //! \param numMode A value that specifies the operation of \p num.
    //! \param manaMode A value that specifies whether the modified mana is
    //! one-time or permanent.
    //! \param num A value indicating how much to modify mana.
    ModifyManaTask(NumMode numMode, ManaMode manaMode, BYTE num);

    //! Returns task ID.
    //! \return Task ID.
    TaskID GetTaskID() const override;

 private:
    //! Processes task logic internally and returns meta data.
    //! \param player1 The first player.
    //! \param player2 The second player.
    //! \return The result of task processing.
    MetaData Impl(Player& player1, Player& player2) override;

    NumMode m_numMode;
    ManaMode m_manaMode;
    BYTE m_num;
};
};  // namespace BasicTasks
}  // namespace Hearthstonepp

#endif  // HEARTHSTONEPP_MODIFYMANA_H

{'fraction_non_alphanumeric': 0.10664866689166386, 'fraction_numerical': 0.006074924063449207, 'mean_word_length': 2.8195876288659796, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 5, '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': '1999618', 'n_tokens_mistral': 1014, 'n_tokens_neox': 965, 'n_words': 332}