Skip to content

Commit

Permalink
refactored names
Browse files Browse the repository at this point in the history
  • Loading branch information
godsme committed Sep 5, 2020
1 parent f5b3f09 commit c0a2c86
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 18 deletions.
2 changes: 1 addition & 1 deletion include/maco/aggregate.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#include <maco/basic.h>

#define __MACO_var_full(x) __MACO_swap_ x
#define __MACO_var_full(x) __MACO_swap x
#define __MACO_var_name(x) __MACO_1st x
#define __MACO_var_type(x) __MACO_rest x

Expand Down
30 changes: 17 additions & 13 deletions include/maco/basic.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,42 @@
#define MACO_BASIC_H

#define __MACO_empty()
#define __MACO_defer(macro) macro __MACO_empty()
#define __MACO_defer(f) f __MACO_empty()

#define __MACO_concat(x, y) x ## y
#define __MACO_paste(x, y) __MACO_concat(x, y)

#define __MACO_stringify_(x) #x
#define __MACO_stringify(x) __MACO_stringify_(x)

#define __MACO_keep__(...) __VA_ARGS__
#define __MACO_keep__(...) __VA_ARGS__
#define __MACO_eat__(...)

#define __MACO_split__(...) __VA_ARGS__ ,

#define __MACO_1st__(a, ...) a
#define __MACO_1st(...) __MACO_1st__(__VA_ARGS__)
#define __MACO_1st__(a, ...) a
#define __MACO_1st(...) __MACO_1st__(__VA_ARGS__)

#define __MACO_2nd__(a, b, ...) b
#define __MACO_2nd(...) __MACO_2nd__(__VA_ARGS__)
#define __MACO_2nd__(a, b, ...) b
#define __MACO_2nd(...) __MACO_2nd__(__VA_ARGS__)

#define __MACO_2__(a, b, ...) a, b
#define __MACO_2(...) __MACO_2__(__VA_ARGS__)
#define __MACO_take_2__(a, b, ...) a, b
#define __MACO_take_2(...) __MACO_take_2__(__VA_ARGS__)

#define __MACO_rest__(a, ...) __VA_ARGS__
#define __MACO_rest(...) __MACO_rest__(__VA_ARGS__)

#define __MACO_merge_2_(x, y) x y
#define __MACO_swap_(x, y) y x
#define __MACO_merge_2__(x, y) x y
#define __MACO_merge_2(x, y) __MACO_merge_2__(x,y)

#define __MACO_swap__(x, y) y x
#define __MACO_swap(x, y) __MACO_swap__(x, y)

#define __MACO_invoke(f, ...) f(__VA_ARGS__)
#define __MACO_compose(f, g, ...) __MACO_invoke(f, g(__VA_ARGS__))
#define __MACO_invoke(f, ...) f(__VA_ARGS__)
#define __MACO_compose(f, g, ...) __MACO_invoke(f, g(__VA_ARGS__))

#define __MACO_invoke_2(f, ...) f(__VA_ARGS__)
#define __MACO_compose_2(f, g, ...) __MACO_invoke_2(f, g(__VA_ARGS__))
#define __MACO_compose_2(f, g, ...) __MACO_invoke_2(f, g(__VA_ARGS__))

#define __MACO_template_type(...) std::decay_t<decltype(std::declval<__VA_ARGS__>())>

Expand Down
4 changes: 2 additions & 2 deletions include/maco/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
__MACO_overload(__MACO_repeat_call_, __VA_ARGS__) (f, __MACO_2nd, __MACO_empty(), 0, __VA_ARGS__)

#define __MACO_map_i(f, ...) \
__MACO_overload(__MACO_repeat_call_, __VA_ARGS__) (f, __MACO_2, __MACO_empty(), 0, __VA_ARGS__)
__MACO_overload(__MACO_repeat_call_, __VA_ARGS__) (f, __MACO_take_2, __MACO_empty(), 0, __VA_ARGS__)

#define __MACO_map_x(f, x, ...) \
__MACO_overload(__MACO_repeat_call_, __VA_ARGS__) (f, __MACO_rest, x, 0, __VA_ARGS__)
Expand All @@ -29,7 +29,7 @@ __MACO_overload(__MACO_repeat_call_, __VA_ARGS__) (f, __MACO_keep__, x, 0, __VA_
#include <maco/detail/map.h>

#define __MACO_map(f, ...) __MACO_map_(f, __MACO_empty(), __MACO_2nd, __VA_ARGS__)
#define __MACO_map_i(f, ...) __MACO_map_(f, __MACO_empty(), __MACO_2, __VA_ARGS__)
#define __MACO_map_i(f, ...) __MACO_map_(f, __MACO_empty(), __MACO_take_2, __VA_ARGS__)
#define __MACO_map_x(f, x, ...) __MACO_map_(f, x, __MACO_rest, __VA_ARGS__)
#define __MACO_map_x_i(f, x, ...) __MACO_map_(f, x, __MACO_keep__, __VA_ARGS__)

Expand Down
4 changes: 2 additions & 2 deletions include/maco/map_2.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
__MACO_overload(__MACO_repeat_call_2_, __VA_ARGS__) (f, __MACO_2nd, __MACO_empty(), 0, __VA_ARGS__)

#define __MACO_map_2i(f, ...) \
__MACO_overload(__MACO_repeat_call_2_, __VA_ARGS__) (f, __MACO_2, __MACO_empty(), 0, __VA_ARGS__)
__MACO_overload(__MACO_repeat_call_2_, __VA_ARGS__) (f, __MACO_take_2, __MACO_empty(), 0, __VA_ARGS__)

#define __MACO_map_x_2(f, x, ...) \
__MACO_overload(__MACO_repeat_call_2_, __VA_ARGS__) (f, __MACO_rest, x, 0, __VA_ARGS__)
Expand All @@ -30,7 +30,7 @@ __MACO_overload(__MACO_repeat_call_2_, __VA_ARGS__) (f, __MACO_keep__, x, 0, __V
#include <maco/detail/map_2.h>

#define __MACO_map_2(f, ...) __MACO_map_2_(f, __MACO_empty(), __MACO_2nd, __VA_ARGS__)
#define __MACO_map_2i(f, ...) __MACO_map_2_(f, __MACO_empty(), __MACO_2, __VA_ARGS__)
#define __MACO_map_2i(f, ...) __MACO_map_2_(f, __MACO_empty(), __MACO_take_2, __VA_ARGS__)
#define __MACO_map_x_2(f, x, ...) __MACO_map_2_(f, x, __MACO_rest, __VA_ARGS__)
#define __MACO_map_x_2i(f, x, ...) __MACO_map_2_(f, x, __MACO_keep__, __VA_ARGS__)

Expand Down

0 comments on commit c0a2c86

Please sign in to comment.