summaryrefslogtreecommitdiff
path: root/swift/src/Ice/SliceFlags.swift
blob: 6b5e9bc6193e1a9d43944cbafedee26189af2ccb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//

struct SliceFlags: OptionSet {
    let rawValue: UInt8

    static let FLAG_HAS_TYPE_ID_STRING = SliceFlags(rawValue: 1 << 0)
    static let FLAG_HAS_TYPE_ID_INDEX = SliceFlags(rawValue: 1 << 1)
    static let FLAG_HAS_TYPE_ID_COMPACT = SliceFlags(rawValue: 1 << 1 | 1 << 0)
    static let FLAG_HAS_OPTIONAL_MEMBERS = SliceFlags(rawValue: 1 << 2)
    static let FLAG_HAS_INDIRECTION_TABLE = SliceFlags(rawValue: 1 << 3)
    static let FLAG_HAS_SLICE_SIZE = SliceFlags(rawValue: 1 << 4)
    static let FLAG_IS_LAST_SLICE = SliceFlags(rawValue: 1 << 5)

    static let OPTIONAL_END_MARKER = SliceFlags(rawValue: 0xFF)
}