diff --git a/reference/CallbackPickClone/CallbackPickClone.cpp b/reference/CallbackPickClone/CallbackPickClone.cpp new file mode 100644 index 000000000..f9bb8b01a --- /dev/null +++ b/reference/CallbackPickClone/CallbackPickClone.cpp @@ -0,0 +1,25 @@ +#include + +using namespace Upp; + +void Function(const Vector& h) +{ + LOG("Callback invoked with " << h); +} + +CONSOLE_APP_MAIN +{ + Vector v; + v << "Just" << "a" << "test"; + + Callback cb1 = callback1(Function, clone(v)); + LOG("Source picked: " << v.IsPicked()); + LOG("Source: " << v); + + v << "2"; + Callback cb2 = callback1(Function, pick(v)); + LOG("Source picked: " << v.IsPicked()); + + cb1(); + cb2(); +} diff --git a/reference/CallbackPickClone/CallbackPickClone.upp b/reference/CallbackPickClone/CallbackPickClone.upp new file mode 100644 index 000000000..34ad938b5 --- /dev/null +++ b/reference/CallbackPickClone/CallbackPickClone.upp @@ -0,0 +1,11 @@ +description "Passing containers to callbacks using pick / clone\377"; + +uses + Core; + +file + CallbackPickClone.cpp; + +mainconfig + "" = ""; + diff --git a/reference/CallbackPickClone/init b/reference/CallbackPickClone/init new file mode 100644 index 000000000..317ccab1f --- /dev/null +++ b/reference/CallbackPickClone/init @@ -0,0 +1,4 @@ +#ifndef _CallbackPickClone_icpp_init_stub +#define _CallbackPickClone_icpp_init_stub +#include "Core/init" +#endif