aboutsummaryrefslogtreecommitdiff
path: root/src/doc/feature/proxy.dox
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-12-14 12:08:08 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-12-14 12:08:08 +0100
commit721262b488bcb67d5f19583c4a523d6ad1b54354 (patch)
treec7904833a8541fec32b53bd31c1475df2c03da49 /src/doc/feature/proxy.dox
parent1623663c6e2e8f33f84b37b9f6bd968c8bc6c92d (diff)
parent5ae2b3c2f7dc207980c6d475e54fa2c5242c560d (diff)
Merge branch 'loek/doxygen' into demo
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);
+}
+
+```
+
+*/
+}