1mod argument;
8mod array_type;
9mod binding;
10mod buffer_binding;
11mod encoder;
12mod object_payload_binding;
13mod pointer_type;
14mod struct_member;
15mod struct_type;
16mod tensor_binding;
17mod tensor_reference_type;
18mod texture_binding;
19mod texture_reference_type;
20mod threadgroup_binding;
21mod type_info;
22
23pub use argument::Argument;
24pub use array_type::ArrayType;
25pub use binding::Binding;
26pub use buffer_binding::BufferBinding;
27pub use encoder::ArgumentEncoder;
28pub use object_payload_binding::ObjectPayloadBinding;
29pub use pointer_type::PointerType;
30pub use struct_member::StructMember;
31pub use struct_type::StructType;
32pub use tensor_binding::TensorBinding;
33pub use tensor_reference_type::TensorReferenceType;
34pub use texture_binding::TextureBinding;
35pub use texture_reference_type::TextureReferenceType;
36pub use threadgroup_binding::ThreadgroupBinding;
37pub use type_info::Type;
38
39use mtl_foundation::UInteger;
40
41pub const ATTRIBUTE_STRIDE_STATIC: UInteger = UInteger::MAX;
45
46#[cfg(test)]
47mod tests {
48 use super::*;
49 use std::ffi::c_void;
50
51 #[test]
52 fn test_type_size() {
53 assert_eq!(
54 std::mem::size_of::<Type>(),
55 std::mem::size_of::<*mut c_void>()
56 );
57 }
58
59 #[test]
60 fn test_argument_size() {
61 assert_eq!(
62 std::mem::size_of::<Argument>(),
63 std::mem::size_of::<*mut c_void>()
64 );
65 }
66
67 #[test]
68 fn test_binding_size() {
69 assert_eq!(
70 std::mem::size_of::<Binding>(),
71 std::mem::size_of::<*mut c_void>()
72 );
73 }
74
75 #[test]
76 fn test_struct_type_size() {
77 assert_eq!(
78 std::mem::size_of::<StructType>(),
79 std::mem::size_of::<*mut c_void>()
80 );
81 }
82
83 #[test]
84 fn test_array_type_size() {
85 assert_eq!(
86 std::mem::size_of::<ArrayType>(),
87 std::mem::size_of::<*mut c_void>()
88 );
89 }
90
91 #[test]
92 fn test_pointer_type_size() {
93 assert_eq!(
94 std::mem::size_of::<PointerType>(),
95 std::mem::size_of::<*mut c_void>()
96 );
97 }
98
99 #[test]
100 fn test_argument_encoder_size() {
101 assert_eq!(
102 std::mem::size_of::<ArgumentEncoder>(),
103 std::mem::size_of::<*mut c_void>()
104 );
105 }
106
107 #[test]
108 fn test_attribute_stride_static() {
109 assert_eq!(ATTRIBUTE_STRIDE_STATIC, UInteger::MAX);
110 }
111}