ultimatepp/tutorial/CoreTutorial/CapturingContainers.cpp
cxl 20304de982 .CoreTutorial
git-svn-id: svn://ultimatepp.org/upp/trunk@10541 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2016-12-13 15:06:29 +00:00

22 lines
495 B
C++

#include "Tutorial.h"
void CapturingContainers()
{
/// .Capturing U++ containers into lambdas
/// Capturing objects with pick/clone semantics can be achieved using %capture with an
/// initializer%:
Vector<int> x{ 1, 2 };
Array<String> y{ "one", "two" };
Event<> ev = [x = pick(x), y = clone(y)] { DUMP(x); DUMP(y); };
DUMP(x); // x is picked, so empty
DUMP(y); // y was cloned, so it retains original value
LOG("About to invoke event");
ev();
///
}