commit 9035e8da976b086cb7f5e47aace2c849d455c300 Author: adjoly Date: Wed Apr 9 14:51:46 2025 +0200 「✨」 feat: finished ex00 diff --git a/ex00/Makefile b/ex00/Makefile new file mode 100644 index 0000000..902f5c7 --- /dev/null +++ b/ex00/Makefile @@ -0,0 +1,60 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: adjoly +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/10/25 16:09:27 by adjoly #+# #+# # +# Updated: 2025/04/09 14:50:44 by adjoly ### ########.fr # +# # +# **************************************************************************** # + +SHELL = bash + +NAME = whatever + +CC = c++ + +OBJSDIR = obj/ + +SRCS = $(shell find . -name '*.cpp') + +OBJS = $(addprefix $(OBJSDIR), $(SRCS:.cpp=.o)) + +FLAGS = -Wall -Werror -Wextra -std=c++98 -MMD -MP + +RED = \033[0;31m +GREEN = \033[0;32m +YELLOW = \033[1;33m +PURPLE = \e[0;35m +NC = \033[0m +DELETE = \x1B[2K\r + +ifeq ($(VERBOSE),true) + FLAGS += -D VERBOSE +endif + +all: $(NAME) + +$(NAME): $(OBJS) + @$(CC) $(FLAGS) -I . $(OBJS) -o $(NAME) + @printf "$(YELLOW)「✨」($(NAME)) Program compiled\n" + +$(OBJSDIR)%.o: %.cpp + @mkdir -p $(@D) + @$(CC) $(FLAGS) -I . -c $< -o $@ + @printf "$(DELETE)$(GREEN)「🔨」($<) Object compiled\n" + +clean: + @rm -f $(OBJS) + @printf "$(DELETE)$(RED)「🗑️」($(OBJS)) Object deleted\n" + +fclean: clean + @rm -f $(NAME) + @rm -Rf $(OBJSDIR) + @printf "$(RED)「🗑️」($(NAME)) Program deleted\n" + +re: fclean all + +.PHONY: clean fclean all re diff --git a/ex00/main.cpp b/ex00/main.cpp new file mode 100644 index 0000000..adcf478 --- /dev/null +++ b/ex00/main.cpp @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/09 14:29:59 by adjoly #+# #+# */ +/* Updated: 2025/04/09 14:51:07 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "whatever.hpp" +#include + +int main(void) { + int a = 2; + int b = 8; + + std::cout << "a: " << a << " and b: " << b << std::endl; + std::cout << "min betweeen a and b: " << min(a, b) << std::endl; + std::cout << "max betweeen a and b: " << max(a, b) << std::endl; + std::cout << "swapping a and b" << std::endl; + swap(a, b); + std::cout << "a: " << a << " and b: " << b << std::endl; + std::cout << "min betweeen a and b: " << min(a, b) << std::endl; + std::cout << "max betweeen a and b: " << max(a, b) << std::endl; + +} diff --git a/ex00/obj/main.d b/ex00/obj/main.d new file mode 100644 index 0000000..2c5bb4b --- /dev/null +++ b/ex00/obj/main.d @@ -0,0 +1,3 @@ +obj/./main.o: main.cpp whatever.hpp + +whatever.hpp: diff --git a/ex00/obj/main.o b/ex00/obj/main.o new file mode 100644 index 0000000..b42db2f Binary files /dev/null and b/ex00/obj/main.o differ diff --git a/ex00/whatever b/ex00/whatever new file mode 100755 index 0000000..1952895 Binary files /dev/null and b/ex00/whatever differ diff --git a/ex00/whatever.hpp b/ex00/whatever.hpp new file mode 100644 index 0000000..41242d2 --- /dev/null +++ b/ex00/whatever.hpp @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* whatever.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/09 14:30:38 by adjoly #+# #+# */ +/* Updated: 2025/04/09 14:38:49 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#pragma once + +template void swap(T &a, T &b) { + T tmp; + + tmp = a; + a = b; + b = tmp; +} + +template T min(T &a, T &b) { + if (a > b) { + return b; + } else { + return a; + } +} + +template T max(T &a, T&b) { + if (a < b) { + return b; + } else { + return a; + } +}