/* By: agilliar <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/02 15:57:41 by agilliar #+# #+# */
-/* Updated: 2025/12/02 18:10:34 by agilliar ### ########.fr */
+/* Updated: 2025/12/02 18:48:33 by agilliar ### ########.fr */
/* */
/* ************************************************************************** */
#include "pushswap.h"
+#include "stacks_apply_inner.h"
t_stacks stacks_new(void)
{
return (false);
return (true);
}
+
+static void stacks_apply_op(t_stacks_apply_data *data, t_op op)
+{
+ t_stacks *stacks;
+ const t_ops *ops;
+ t_closure op_fn;
+
+ stacks = data->stacks;
+ ops = data->ops;
+ op_fn = ops->ops[op];
+ (op_fn.func)(op_fn.data, stacks);
+}
+
+void stacks_apply(t_stacks *stacks, const t_ops *ops, t_algorithm algo)
+{
+ t_closure closure;
+ t_stacks_apply_data closure_data;
+
+ closure_data.stacks = stacks;
+ closure_data.ops = ops;
+ closure.data = &closure_data;
+ closure.func = &stacks_apply_op;
+ algo(stacks, closure);
+}
+++ /dev/null
-/* ************************************************************************** */
-/* */
-/* ::: :::::::: */
-/* stacks_apply.c :+: :+: :+: */
-/* +:+ +:+ +:+ */
-/* By: agilliar <marvin@42.fr> +#+ +:+ +#+ */
-/* +#+#+#+#+#+ +#+ */
-/* Created: 2025/12/02 18:10:48 by agilliar #+# #+# */
-/* Updated: 2025/12/02 18:26:05 by agilliar ### ########.fr */
-/* */
-/* ************************************************************************** */
-
-#include "pushswap.h"
-#include "stacks_apply_inner.h"
-
-static void stacks_apply_op(t_stacks_apply_data *data, t_op op)
-{
- t_stacks *stacks;
- const t_ops *ops;
- t_closure op_fn;
-
- stacks = data->stacks;
- ops = data->ops;
- op_fn = ops->ops[op];
- (op_fn.func)(op_fn.data, stacks);
-}
-
-void stacks_apply(t_stacks *stacks, const t_ops *ops, t_algorithm algo)
-{
- t_closure closure;
- t_stacks_apply_data closure_data;
-
- closure_data.stacks = stacks;
- closure_data.ops = ops;
- closure.data = &closure_data;
- closure.func = &stacks_apply_op;
- algo(stacks, closure);
-}
/* ************************************************************************** */
/* */
/* ::: :::::::: */
-/* stacks_apply_inner.h :+: :+: :+: */
+/* stacks_inner.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: agilliar <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/02 18:18:38 by agilliar #+# #+# */
-/* Updated: 2025/12/02 18:22:48 by agilliar ### ########.fr */
+/* Updated: 2025/12/02 18:48:13 by agilliar ### ########.fr */
/* */
/* ************************************************************************** */
-#ifndef STACKS_APPLY_INNER_H
-# define STACKS_APPLY_INNER_H
+#ifndef STACKS_INNER_H
+# define STACKS_INNER_H
# include "pushswap.h"