#ifndef F_TREE_MANAGER_FUNC_H #define F_TREE_MANAGER_FUNC_H // This file was ported from // https://github.com/NSMBW-Community/NSMBW-Decomp/blob/master/include/dol/framework/f_tree_mg_ptmf.hpp #include "c/c_tree.h" #include "common.h" #include "f/f_tree_mg.h" class fBase_c; /// @brief A container for a tree of fTrNdBa_c nodes with a reference to a process function. /// @note Unofficial name. class fTrMgPTMF_c : public fTrMgBa_c { public: /// @brief Constructs a new tree container. /// @param procFunc The process function. fTrMgPTMF_c(int (fBase_c::*procFunc)()) : mpProcFunc(procFunc) {} /// @brief Calls the process function ::mpProcFunc on the owner of each node in the tree. /// @return If the operation was successful. bool walkPack(); private: int (fBase_c::*mpProcFunc)(); ///< The process function for the tree. }; #endif