summaryrefslogtreecommitdiffstats
path: root/chrome/common/ipc_maybe.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/ipc_maybe.h')
-rw-r--r--chrome/common/ipc_maybe.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/common/ipc_maybe.h b/chrome/common/ipc_maybe.h
new file mode 100644
index 0000000..de45dc0
--- /dev/null
+++ b/chrome/common/ipc_maybe.h
@@ -0,0 +1,19 @@
+#ifndef CHROME_COMMON_MAYBE_H_
+#define CHROME_COMMON_MAYBE_H_
+
+namespace IPC {
+
+// The Maybe type can be used to avoid serialising a type when it's invalid.
+// This is most useful in conjunction with FileDescriptor, as there's no
+// possible invalid value which can be serialised (one can type to use -1, but
+// the IPC channel will fail). It may also be useful if the invalid value is
+// otherwise expensive to serialise.
+template<typename A>
+struct Maybe {
+ bool valid;
+ A value;
+};
+
+} // namespace IPC
+
+#endif // CHROME_COMMON_MAYBE_H_