From e1e64d836226ba642bdc050860d235910c829a59 Mon Sep 17 00:00:00 2001 From: Joshua Suskalo Date: Sat, 16 Jul 2022 19:37:46 -0500 Subject: [PATCH] Add very inefficient raw types --- src/clj/coffi/mem.clj | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/clj/coffi/mem.clj b/src/clj/coffi/mem.clj index 792c04f..0cfa54b 100644 --- a/src/clj/coffi/mem.clj +++ b/src/clj/coffi/mem.clj @@ -1118,6 +1118,20 @@ (with-acquired [(segment-scope segment)] (map #(deserialize % type) (slice-segments segment (size-of type))))) +;;; Raw composite types + +(defmethod c-layout ::raw + [[_raw type]] + (c-layout type)) + +(defmethod serialize-into ::raw + [obj _type segment _scope] + (copy-segment segment obj)) + +(defmethod deserialize-from ::raw + [segment _type] + (clone-segment segment)) + ;;; C String type (defmethod primitive-type ::c-string