Lines Matching refs:unique_function
21 unique_function<int(int, int)> Sum = [](int A, int B) { return A + B; };
24 unique_function<int(int, int)> Sum2 = std::move(Sum);
27 unique_function<int(int, int)> Sum3 = [](int A, int B) { return A + B; };
31 Sum2 = unique_function<int(int, int)>([](int A, int B) { return A + B; });
38 Sum2 = unique_function<int(int, int)>();
42 unique_function<void(int &)> Inc = [](int &X) { ++X; };
49 unique_function<int(std::unique_ptr<int> &&)> ReadAndDeallocByRef =
63 unique_function<int(std::unique_ptr<int>)> ReadAndDeallocByVal =
79 unique_function<long()> Tmp;
81 unique_function<long()> C1 = [A]() { return A; };
86 unique_function<long()> C2 = [A, B]() { return A + B; };
91 unique_function<long()> C3 = [A, B, C]() { return A + B + C; };
96 unique_function<long()> C4 = [A, B, C, D]() { return A + B + C + D; };
101 unique_function<long()> C5 = [A, B, C, D, E]() { return A + B + C + D + E; };
113 unique_function<int(int)> Small = SmallCallable();
115 unique_function<int(int)> Small2 = std::move(Small);
127 unique_function<int()> Large = LargeCallable();
129 unique_function<int()> Large2 = std::move(Large);
143 unique_function<void(CopyCounter)> ByValF = [](CopyCounter) {};
157 unique_function<void(const CopyCounter &)> ByRefF = [](const CopyCounter &) {
176 unique_function<void(const Uncopyable &)> UncopyableF =
191 unique_function<void(MoveCounter)> ByValF = [](MoveCounter) {};
204 unique_function<void(MoveCounter &&)> ByRefF = [](MoveCounter &&) {};
222 unique_function<void(const Unmovable &)> UnmovableF = [](const Unmovable &) {
231 unique_function<int(int) const> Plus2 = [X(std::make_unique<int>(2))](int Y) {
241 unique_function<int(int) const> Plus2A = std::move(Plus2);
243 unique_function<int(int) const> Plus2B;
248 unique_function<int(int)> Plus2C = std::move(Plus2B);
256 unique_function<StringRef()> ChooseMutable = ChooseCorrectOverload();
260 unique_function<StringRef() const> ChooseConst = ChooseCorrectOverload();
268 std::string returns(unique_function<double()> F) { return "number"; }
269 std::string returns(unique_function<StringRef()> F) { return "string"; }
281 // Check that we can define unique_function that have references to
285 unique_function<void(Templated<Incomplete> &&)>
287 unique_function<void(Templated<Incomplete> &)>
289 unique_function<void(Templated<Incomplete> *)> IncompleteArgumentPointer;
290 unique_function<Templated<Incomplete> &()> IncompleteResultLValueReference;
291 unique_function<Templated<Incomplete> && ()> IncompleteResultRValueReference2;
292 unique_function<Templated<Incomplete> *()> IncompleteResultPointer;
299 // Check that we can assign a callable to a unique_function when the
302 unique_function<Incomplete()> IncompleteReturnInCallable{incompleteFunction};
303 unique_function<const Incomplete()> IncompleteReturnInCallableConst{
305 unique_function<const Incomplete()> IncompleteReturnInCallableConstConversion{
314 // Check that we can store a pointer-sized payload inline in the unique_function.
316 // We do assume a couple of implementation details of the unique_function here:
320 unique_function<void(void *)> UniqueFunctionWithInlineStorage{
325 sizeof(unique_function<void(void *)>);
327 // the unique_function object.
338 unique_function<void()> CapturingFunction{
340 unique_function<void()> CapturingFunctionMoved{