diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-12-14 12:08:08 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-12-14 12:08:08 +0100 |
commit | 721262b488bcb67d5f19583c4a523d6ad1b54354 (patch) | |
tree | c7904833a8541fec32b53bd31c1475df2c03da49 /src/doc/feature/proxy.dox | |
parent | 1623663c6e2e8f33f84b37b9f6bd968c8bc6c92d (diff) | |
parent | 5ae2b3c2f7dc207980c6d475e54fa2c5242c560d (diff) |
Merge branch 'loek/doxygen' into demo
Diffstat (limited to 'src/doc/feature/proxy.dox')
-rw-r--r-- | src/doc/feature/proxy.dox | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/doc/feature/proxy.dox b/src/doc/feature/proxy.dox new file mode 100644 index 0000000..66bbd2f --- /dev/null +++ b/src/doc/feature/proxy.dox @@ -0,0 +1,43 @@ +// vim:ft=doxygen +namespace crepe { +/** + +\defgroup feature_proxy Proxy utility +\ingroup feature +\brief Use ValueBroker as if it were a regular variable + +Proxy provides operators that allow you to use a ValueBroker instance as if it +were a regular variable. Proxy implements a constructor that allows it to be +used as a substitute return type for any function that returns ValueBroker. + +\see ValueBroker +\see Proxy + +\par Example + +```cpp +#include <crepe/util/Proxy.h> +#include <crepe/ValueBroker.h> + +int calculation(int value) { + return 3 * value; +} + +void anywhere() { + crepe::ValueBroker<int> foo_handle; + crepe::Proxy foo = foo_handle; + + // implicitly calls .set() + foo += 10; + + // implicitly calls .get() + int out = calculation(foo); + + // explicitly cast (also calls .get()) + int casted = int(foo); +} + +``` + +*/ +} |