aboutsummaryrefslogtreecommitdiff
path: root/src/doc/feature/proxy.dox
diff options
context:
space:
mode:
authorJAROWMR <jarorutjes07@gmail.com>2024-12-19 19:06:00 +0100
committerJAROWMR <jarorutjes07@gmail.com>2024-12-19 19:06:00 +0100
commite9ff4f207572a2dd2fb588093c7d1d971e463dc0 (patch)
tree621c74431b2a4042099e3c22beee3f5383ef2cbb /src/doc/feature/proxy.dox
parentfa3bf171e73da70d964d85851bd20d87362fcfd2 (diff)
parentc737b01035cb62712b1dabcfef6f5014bdc882d1 (diff)
merge master
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);
+}
+
+```
+
+*/
+}