summaryrefslogtreecommitdiff
path: root/ex06/Harl.cpp
diff options
context:
space:
mode:
authorDominik Kaiser2025-02-12 13:40:19 +0100
committerDominik Kaiser2025-02-12 13:40:19 +0100
commit195d8aa8ebdcb21a9b8cbf362879e53e7ef0c461 (patch)
tree4625c5dd168771836fcf03a2a14c00d4d2926184 /ex06/Harl.cpp
parent92a665752945aa7731ad51fa66ecac768064c51e (diff)
downloadcpp01-195d8aa8ebdcb21a9b8cbf362879e53e7ef0c461.tar.gz
cpp01-195d8aa8ebdcb21a9b8cbf362879e53e7ef0c461.zip
Implement harlFilterHEADmain
Diffstat (limited to 'ex06/Harl.cpp')
-rw-r--r--ex06/Harl.cpp31
1 files changed, 23 insertions, 8 deletions
diff --git a/ex06/Harl.cpp b/ex06/Harl.cpp
index fcad030..f5cced8 100644
--- a/ex06/Harl.cpp
+++ b/ex06/Harl.cpp
@@ -6,7 +6,7 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/12 10:37:12 by dkaiser #+# #+# */
-/* Updated: 2025/02/12 11:29:15 by dkaiser ### ########.fr */
+/* Updated: 2025/02/12 13:38:42 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,14 +16,29 @@
void Harl::complain(std::string level)
{
std::string levels[4] = {"DEBUG", "INFO", "WARNING", "ERROR"};
- void (Harl::*funcs[4])() = {&Harl::debug,
- &Harl::info,
- &Harl::warning,
- &Harl::error};
- for (int i = 0; i < 4; i++)
+
+ int i = 0;
+ while (level != levels[i])
{
- if (level == levels[i])
- (this->*funcs[i])();
+ if (i > 3)
+ break;
+ i++;
+ }
+ switch (i)
+ {
+ case 0:
+ this->debug();
+ case 1:
+ this->info();
+ case 2:
+ this->warning();
+ case 3:
+ this->error();
+ break;
+ default:
+ std::cout << "[ Probably complaining ";
+ std::cout << "about insignificant problems ]" << std::endl;
+ break;
}
}