aboutsummaryrefslogtreecommitdiff
path: root/src/doc/feature/proxy.dox
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-12-18 14:01:11 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-12-18 14:01:11 +0100
commitefcb4e88c7b921684379adce2a3d09c8f9aaf3a3 (patch)
tree7ffc08549ddd6f20487304507a7474591f559cbb /src/doc/feature/proxy.dox
parenta444da0b35123a9e51cde1f5be9aab0204eb5b66 (diff)
parent0e800c6857122436e7a766c6934991aa1d8d31ff (diff)
Merge branch 'master' into loek/replay
Diffstat (limited to 'src/doc/feature/proxy.dox')
-rw-r--r--src/doc/feature/proxy.dox43
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);
+}
+
+```
+
+*/
+}