<commit_before>#pragma once
//=====================================================================//
/*!	@file
	@brief	ディスパッチ・クラス @n
			グループ割り込みの分類を行うサポート用
    @author 平松邦仁 (<EMAIL>)
	@copyright	Copyright (C) 2018 <NAME> @n
				Released under the MIT license @n
				https://github.com/hirakuni45/RX/blob/master/LICENSE
*/
//=====================================================================//
#include "RX600/peripheral.hpp"

namespace utils {

	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	/*!
		@brief  dispatch class
		@param[in]	PER	ペリフェラル
		@param[in]	NUM	分岐数
	*/
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	template<device::peripheral PER, uint32_t NUM>
	class dispatch {

		void*	task_[NUM];

	public:
		//-----------------------------------------------------------------//
		/*!
			@brief	コンストラクター
		*/
		//-----------------------------------------------------------------//
		dispatch() noexcept : task_{ nullptr } { }


		//-----------------------------------------------------------------//
		/*!
			@brief	分岐タスクを登録
			@param[in]	task	タスク
		*/
		//-----------------------------------------------------------------//
		void set_task(void* task, uint32_t index) noexcept
		{
			if(index < NUM) {
				task_[index] = task;
			}
		}
	};
}
<commit_msg>update: cleanup<commit_after>#pragma once
//=====================================================================//
/*!	@file
	@brief	ディスパッチ・クラス @n
			グループ割り込みの分類を行うサポート用
    @author 平松邦仁 (<EMAIL>)
	@copyright	Copyright (C) 2018 <NAME> @n
				Released under the MIT license @n
				https://github.com/hirakuni45/RX/blob/master/LICENSE
*/
//=====================================================================//
#include "RX600/peripheral.hpp"

namespace utils {

	typedef void (*TASK)();		///< 関数呼び出し型

	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	/*!
		@brief  dispatch class
		@param[in]	VEC	グループ・ベクター
		@param[in]	NUM	分岐数
	*/
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	template<device::icu_t::VECTOR VEC, uint32_t NUM>
	class dispatch {

		TASK	task_[NUM];

	public:
		//-----------------------------------------------------------------//
		/*!
			@brief	コンストラクター
		*/
		//-----------------------------------------------------------------//
		dispatch() noexcept : task_{ nullptr } { }


		//-----------------------------------------------------------------//
		/*!
			@brief	サイズを返す
			@return サイズ
		*/
		//-----------------------------------------------------------------//
		uint32_t size() const noexcept { return NUM; }


		//-----------------------------------------------------------------//
		/*!
			@brief	分岐タスクを登録
			@param[in]	index	インデックス
			@param[in]	task	タスク
			@return 不正なインデックスの場合「false」
		*/
		//-----------------------------------------------------------------//
		bool set_task(uint32_t index, TASK task) noexcept
		{
			if(index < NUM) {
				task_[index] = task;
				return true;
			} else {
				return false;
			}
		}


		//-----------------------------------------------------------------//
		/*!
			@brief	分岐タスクを取得
			@param[in]	index	インデックス
			@return 分岐タスク
		*/
		//-----------------------------------------------------------------//
		TASK get_task(uint32_t index) noexcept
		{
			if(index < NUM) {
				return task_[index];
			} else {
				return nullptr;
			}
		}


		//-----------------------------------------------------------------//
		/*!
			@brief	分岐タスクを実行
			@param[in]	index	インデックス
		*/
		//-----------------------------------------------------------------//
		void run_task(uint32_t index) noexcept
		{
			if(index < NUM) {
				if(task_[index] != nullptr) {
					(*task_[index])();
				}
			}
		}
	};
}

{'fraction_non_alphanumeric': 0.4958433896486994, 'fraction_numerical': 0.008581389112362564, 'mean_word_length': 1.313895781637717, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 9, 'https://': 2, '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': '5730467', 'n_tokens_mistral': 1368, 'n_tokens_neox': 1138, 'n_words': 189}