.CoreTutorial

git-svn-id: svn://ultimatepp.org/upp/trunk@10541 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2016-12-13 15:06:29 +00:00
parent 9e9b622eaf
commit 20304de982
5 changed files with 148 additions and 17 deletions

View file

@ -0,0 +1,22 @@
#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();
///
}