aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/include
diff options
context:
space:
mode:
authorDevin Doucette <[email protected]>2026-03-18 08:14:07 -0600
committerGitHub Enterprise <[email protected]>2026-03-18 08:14:07 -0600
commitee40d3387465b96058d33ed4d0e41d91a4ee1327 (patch)
tree59361054b26ab9402abefdbc23d00fd61b4523ae /src/zencore/include
parentworkaround for change in xmake behaviour around download file naming (#858) (diff)
downloadzen-ee40d3387465b96058d33ed4d0e41d91a4ee1327.tar.xz
zen-ee40d3387465b96058d33ed4d0e41d91a4ee1327.zip
Add natvis for Compact Binary (#860)
Add natvis for Compact Binary Includes natvis for DateTime, TimeSpan, IoHash, Guid, Oid. Based on UE CL 51830581.
Diffstat (limited to 'src/zencore/include')
-rw-r--r--src/zencore/include/zencore/compactbinary.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/zencore/include/zencore/compactbinary.h b/src/zencore/include/zencore/compactbinary.h
index b128e4205..74f4cdf8d 100644
--- a/src/zencore/include/zencore/compactbinary.h
+++ b/src/zencore/include/zencore/compactbinary.h
@@ -1530,4 +1530,98 @@ void uson_forcelink(); // internal
void cbjson_forcelink(); // internal
void cbyaml_forcelink(); // internal
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+// Types to support debug visualizers (natvis).
+
+// A field/array/object in memory can be visualized in a debugger supporting natvis by casting to this type.
+// (DebugCb*)Pointer works for any field/array/object that starts with its field type.
+struct DebugCb
+{
+};
+
+// Types that visualize a pointer to a value, *not* a pointer to a field.
+struct DebugCbObject
+{
+};
+struct DebugCbUniformObject
+{
+};
+struct DebugCbArray
+{
+};
+struct DebugCbUniformArray
+{
+};
+struct DebugCbBinary
+{
+};
+struct DebugCbString
+{
+};
+struct DebugCbIntegerPositive
+{
+};
+struct DebugCbIntegerNegative
+{
+};
+struct DebugCbFloat32
+{
+};
+struct DebugCbFloat64
+{
+};
+struct DebugCbObjectAttachment
+{
+};
+struct DebugCbBinaryAttachment
+{
+};
+struct DebugCbHash
+{
+};
+struct DebugCbUuid
+{
+};
+struct DebugCbDateTime
+{
+};
+struct DebugCbTimeSpan
+{
+};
+struct DebugCbObjectId
+{
+};
+struct DebugCbCustomById
+{
+};
+struct DebugCbCustomByName
+{
+};
+
+namespace CompactBinaryPrivate {
+
+ void ReferenceDebugTypes(DebugCb*,
+ DebugCbObject*,
+ DebugCbUniformObject*,
+ DebugCbArray*,
+ DebugCbUniformArray*,
+ DebugCbBinary*,
+ DebugCbString*,
+ DebugCbIntegerPositive*,
+ DebugCbIntegerNegative*,
+ DebugCbFloat32*,
+ DebugCbFloat64*,
+ DebugCbObjectAttachment*,
+ DebugCbBinaryAttachment*,
+ DebugCbHash*,
+ DebugCbUuid*,
+ DebugCbDateTime*,
+ DebugCbTimeSpan*,
+ DebugCbObjectId*,
+ DebugCbCustomById*,
+ DebugCbCustomByName*);
+
+} // namespace CompactBinaryPrivate
+
} // namespace zen