Skip to content

Commit c67e698

Browse files
author
Andrey Bushev
committed
Merge pull request #1 from kaidokert/master
Tiny fix for misnamed macro, add a compile-test for it
2 parents adcf926 + 5790ef6 commit c67e698

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

delegate.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ using detail::Delegate;
154154
#undef CB_FORWARD
155155

156156
#define __CB_DELEGATE_INIT(instance, func) decltype(CB::detail::create_delegate(func))::bind<func>(instance)
157-
#define __CB_DELEGATE_FF(func) decltype(CB::detail::create_delegate(func))::bind<func>()
157+
#define __CB_DELEGATE_INIT_FF(func) decltype(CB::detail::create_delegate(func))::bind<func>()
158158
#define CB_DELEGATE_INIT __CB_DELEGATE_INIT
159159
#define CB_DELEGATE_FF __CB_DELEGATE_INIT_FF
160160

test/main.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,12 @@ int main(int argc, char **argv)
6060
printf("%d\n", b3(5));
6161

6262
}
63+
{
64+
printf("\n");
65+
E d = create_delegate_freefunction();
66+
int val = 41;
67+
printf("%d %d\n",d(val), val);
68+
}
6369

6470
return 0;
6571
}
66-
67-

test/routines.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@ D create_delegate(Value &v)
1919
return d;
2020
}
2121

22+
E create_delegate_freefunction() {
23+
E d = CB_DELEGATE_FF(increment);
24+
return d;
25+
}

test/routines.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using C = CB::StaticClosure<int (int), 64>;
66
using C1 = CB::StaticClosure<int (int), 76>;
77
using D = CB::Delegate<int (int)>;
8+
using E = CB::Delegate<int (int &)>;
89

910
struct Value {
1011

@@ -17,6 +18,11 @@ struct Value {
1718

1819
};
1920

21+
inline int increment(int &val) {
22+
return val++;
23+
}
24+
2025
C create_closure(int init, const char *text);
2126
C1 create_closure2(int init, const char *text);
2227
D create_delegate(Value &v);
28+
E create_delegate_freefunction();

0 commit comments

Comments
 (0)