• Home
  • Raw
  • Download

Lines Matching full:base

5 #include "base/functional/callback_helpers.h"
10 #include "base/functional/bind.h"
11 #include "base/functional/callback.h"
12 #include "base/test/gtest_util.h"
35 static_assert(TestConversionAndAssignment<decltype(base::NullCallback()), \
38 TestConversionAndAssignment<decltype(base::NullCallbackAs<Sig>()), \
40 static_assert(TestConversionAndAssignment<decltype(base::DoNothing()), \
43 TestConversionAndAssignment<decltype(base::DoNothingAs<Sig>()), \
46 decltype(base::DoNothingWithBoundArgs(BoundArg)), \
50 !TestConversionAndAssignment<decltype(base::NullCallbackAs<BadSig>()), \
53 !TestConversionAndAssignment<decltype(base::DoNothingAs<BadSig>()), \
56 decltype(base::DoNothingWithBoundArgs(BadArg())), \
60 static_assert(TestConversionAndAssignment<decltype(base::NullCallback()), \
63 TestConversionAndAssignment<decltype(base::NullCallbackAs<Sig>()), \
69 static_assert(!TestConversionAndAssignment<decltype(base::DoNothing()), \
72 !TestConversionAndAssignment<decltype(base::DoNothingAs<Sig>()), \
75 decltype(base::DoNothingWithBoundArgs(BoundArg)), \
79 !TestConversionAndAssignment<decltype(base::NullCallbackAs<BadSig>()), \
82 !TestConversionAndAssignment<decltype(base::DoNothingAs<BadSig>()), \
85 decltype(base::DoNothingWithBoundArgs(BadArg())), \
88 VOID_RETURN_CALLBACK_TAG_TEST(base::OnceCallback, void(), void(char), );
89 VOID_RETURN_CALLBACK_TAG_TEST(base::OnceCallback, void(int), void(char), 8);
90 NON_VOID_RETURN_CALLBACK_TAG_TEST(base::OnceCallback, int(int), char(int), 8);
92 VOID_RETURN_CALLBACK_TAG_TEST(base::RepeatingCallback, void(), void(char), );
93 VOID_RETURN_CALLBACK_TAG_TEST(base::RepeatingCallback,
97 NON_VOID_RETURN_CALLBACK_TAG_TEST(base::RepeatingCallback,
106 // Check that base::{Once,Repeating}Closures and references to them are in TEST()
107 // considered base::{Once,Repeating}Callbacks. in TEST()
108 static_assert(base::IsBaseCallback<base::OnceClosure>); in TEST()
109 static_assert(base::IsBaseCallback<base::RepeatingClosure>); in TEST()
110 static_assert(base::IsBaseCallback<base::OnceClosure&&>); in TEST()
111 static_assert(base::IsBaseCallback<const base::RepeatingClosure&>); in TEST()
113 // Check that base::{Once, Repeating}Callbacks with a given RunType and in TEST()
114 // references to them are considered base::{Once, Repeating}Callbacks. in TEST()
115 static_assert(base::IsBaseCallback<base::OnceCallback<int(int)>>); in TEST()
116 static_assert(base::IsBaseCallback<base::RepeatingCallback<int(int)>>); in TEST()
117 static_assert(base::IsBaseCallback<base::OnceCallback<int(int)>&&>); in TEST()
118 static_assert(base::IsBaseCallback<const base::RepeatingCallback<int(int)>&>); in TEST()
120 // Check that POD types are not considered base::{Once, Repeating}Callbacks. in TEST()
121 static_assert(!base::IsBaseCallback<bool>); in TEST()
122 static_assert(!base::IsBaseCallback<int>); in TEST()
123 static_assert(!base::IsBaseCallback<double>); in TEST()
126 // base::{Once, Repeating}Callback. in TEST()
127 static_assert(!base::IsBaseCallback<std::function<void()>>); in TEST()
128 static_assert(!base::IsBaseCallback<const std::function<void()>&>); in TEST()
129 static_assert(!base::IsBaseCallback<std::function<void()>&&>); in TEST()
133 // Check that base::OnceClosures and references to them are considered in TEST()
134 // base::OnceCallbacks, but base::RepeatingClosures are not. in TEST()
135 static_assert(base::IsOnceCallback<base::OnceClosure>); in TEST()
136 static_assert(!base::IsOnceCallback<base::RepeatingClosure>); in TEST()
137 static_assert(base::IsOnceCallback<base::OnceClosure&&>); in TEST()
138 static_assert(!base::IsOnceCallback<const base::RepeatingClosure&>); in TEST()
140 // Check that base::OnceCallbacks with a given RunType and references to them in TEST()
141 // are considered base::OnceCallbacks, but base::RepeatingCallbacks are not. in TEST()
142 static_assert(base::IsOnceCallback<base::OnceCallback<int(int)>>); in TEST()
143 static_assert(!base::IsOnceCallback<base::RepeatingCallback<int(int)>>); in TEST()
144 static_assert(base::IsOnceCallback<base::OnceCallback<int(int)>&&>); in TEST()
146 !base::IsOnceCallback<const base::RepeatingCallback<int(int)>&>); in TEST()
148 // Check that POD types are not considered base::OnceCallbacks. in TEST()
149 static_assert(!base::IsOnceCallback<bool>); in TEST()
150 static_assert(!base::IsOnceCallback<int>); in TEST()
151 static_assert(!base::IsOnceCallback<double>); in TEST()
154 // base::OnceCallback. in TEST()
155 static_assert(!base::IsOnceCallback<std::function<void()>>); in TEST()
156 static_assert(!base::IsOnceCallback<const std::function<void()>&>); in TEST()
157 static_assert(!base::IsOnceCallback<std::function<void()>&&>); in TEST()
160 auto cb = base::BindOnce([](int* count) { ++*count; }); in TEST()
161 static_assert(base::IsOnceCallback<decltype(cb)>); in TEST()
173 base::ScopedClosureRunner runner1; in TEST()
176 base::ScopedClosureRunner runner2{base::DoNothing()}; in TEST()
183 base::ScopedClosureRunner runner(base::BindOnce(&Increment, &run_count)); in TEST()
191 base::OnceClosure c; in TEST()
193 base::ScopedClosureRunner runner(base::BindOnce(&Increment, &run_count)); in TEST()
206 base::ScopedClosureRunner runner; in TEST()
207 runner.ReplaceClosure(base::BindOnce(&Increment, &run_count_1)); in TEST()
208 runner.ReplaceClosure(base::BindOnce(&Increment, &run_count_2)); in TEST()
219 base::ScopedClosureRunner runner(base::BindOnce(&Increment, &run_count_3)); in TEST()
228 base::ScopedClosureRunner runner; in TEST()
235 std::unique_ptr<base::ScopedClosureRunner> runner( in TEST()
236 new base::ScopedClosureRunner(base::BindOnce(&Increment, &run_count))); in TEST()
237 base::ScopedClosureRunner runner2(std::move(*runner)); in TEST()
248 base::ScopedClosureRunner runner(base::BindOnce(&Increment, &run_count_1)); in TEST()
250 base::ScopedClosureRunner runner2( in TEST()
251 base::BindOnce(&Increment, &run_count_2)); in TEST()
264 base::OnceCallback<void(int*)> cb = base::NullCallback(); in TEST()
267 auto split = base::SplitOnceCallback(std::move(cb)); in TEST()
270 std::pair<base::OnceCallback<void(int*)>, in TEST()
271 base::OnceCallback<void(int*)>>>, in TEST()
279 base::OnceCallback<void(int*)> cb = in TEST()
280 base::BindOnce([](int* count) { ++*count; }); in TEST()
282 auto split = base::SplitOnceCallback(std::move(cb)); in TEST()
285 std::pair<base::OnceCallback<void(int*)>, in TEST()
286 base::OnceCallback<void(int*)>>>, in TEST()
300 base::OnceCallback<void(int*)> cb = in TEST()
301 base::BindOnce([](int* count) { ++*count; }); in TEST()
303 auto split = base::SplitOnceCallback(std::move(cb)); in TEST()
306 std::pair<base::OnceCallback<void(int*)>, in TEST()
307 base::OnceCallback<void(int*)>>>, in TEST()
319 base::OnceCallback<void(int*)> cb = in TEST()
320 base::BindOnce([](int* count) { ++*count; }); in TEST()
322 auto split = base::SplitOnceCallback(std::move(cb)); in TEST()
323 base::OnceCallback<void(int*)> cb1 = std::move(split.first); in TEST()
324 split = base::SplitOnceCallback(std::move(split.second)); in TEST()
325 base::OnceCallback<void(int*)> cb2 = std::move(split.first); in TEST()
326 base::OnceCallback<void(int*)> cb3 = std::move(split.second); in TEST()
337 base::OnceCallback<void(int*)> cb = in TEST()
338 base::BindOnce([](int* count) { ++*count; }); in TEST()
340 auto split = base::SplitOnceCallback(std::move(cb)); in TEST()
341 base::OnceCallback<void(int*)> cb1 = std::move(split.first); in TEST()
342 split = base::SplitOnceCallback(std::move(split.second)); in TEST()
343 base::OnceCallback<void(int*)> cb2 = std::move(split.first); in TEST()
344 base::OnceCallback<void(int*)> cb3 = std::move(split.second); in TEST()
355 base::RepeatingClosure repeating_closure = in TEST()
356 base::BindRepeating(&Increment, &count); in TEST()
357 base::OnceClosure once_closure = base::BindOnce(&Increment, &count); in TEST()
359 base::RepeatingCallback<void(int)> repeating_int_cb = in TEST()
360 base::IgnoreArgs<int>(repeating_closure); in TEST()
367 base::OnceCallback<void(int)> once_int_cb = in TEST()
368 base::IgnoreArgs<int>(std::move(once_closure)); in TEST()
374 auto repeating_callback = base::BindRepeating(&Increment); in TEST()
375 auto repeating_cb_with_extra_arg = base::IgnoreArgs<bool>(repeating_callback); in TEST()
380 auto once_callback = base::BindOnce(&Increment); in TEST()
382 base::IgnoreArgs<char, bool>(repeating_callback); in TEST()
388 base::RepeatingCallback<void(int)> repeating_int_cb = in TEST()
389 base::IgnoreArgs<int>(base::RepeatingClosure()); in TEST()
392 base::OnceCallback<void(int)> once_int_cb = in TEST()
393 base::IgnoreArgs<int>(base::OnceClosure()); in TEST()
400 base::ForwardRepeatingCallbacks({base::BindRepeating(&IncrementWithRef), in TEST()
401 base::BindRepeating(&IncrementWithRef)}); in TEST()
412 auto string_factory = base::ReturnValueOnce(std::string("test")); in TEST()
414 base::OnceCallback<std::string(void)>>); in TEST()
418 auto unique_ptr_factory = base::ReturnValueOnce(std::make_unique<int>(42)); in TEST()
420 base::OnceCallback<std::unique_ptr<int>(void)>>); in TEST()