zerodds_types/type_object/kinds.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 ZeroDDS Contributors
3//! TypeObject-Diskriminator-Konstanten (XTypes 1.3 §7.3.4.1 / §7.3.4.4).
4//!
5//! Diese Konstanten diskriminieren die `MinimalTypeObject`- und
6//! `CompleteTypeObject`-Union. Sie unterscheiden sich von den
7//! TypeIdentifier-Konstanten fuer composite Types (TypeObject hat
8//! eigene Kind-Codes fuer STRUCTURE, UNION, etc., ab 0x50).
9
10/// `alias<T>`.
11pub const TK_ALIAS: u8 = 0x30;
12
13/// `enum`.
14pub const TK_ENUM: u8 = 0x40;
15/// `bitmask`.
16pub const TK_BITMASK: u8 = 0x41;
17
18/// `annotation`.
19pub const TK_ANNOTATION: u8 = 0x42;
20
21/// `struct`.
22pub const TK_STRUCTURE: u8 = 0x50;
23/// `union`.
24pub const TK_UNION: u8 = 0x51;
25/// `bitset`.
26pub const TK_BITSET: u8 = 0x52;
27
28/// `sequence<T>` (collection).
29pub const TK_SEQUENCE: u8 = 0x60;
30/// `T[N]` (collection).
31pub const TK_ARRAY: u8 = 0x61;
32/// `map<K,V>` (collection).
33pub const TK_MAP: u8 = 0x62;