1//===-- ValueWitnessMangling.def - VW Mangling Metaprogramming --*- C++ -*-===//
2//
3// This source file is part of the Swift.org open source project
4//
5// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
6// Licensed under Apache License v2.0 with Runtime Library Exception
7//
8// See https://swift.org/LICENSE.txt for license information
9// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10//
11//===----------------------------------------------------------------------===//
12
13/// VALUE_WITNESS(MANGLING, NAME)
14///   The 2-character MANGLING for a value witness NAME.
15
16VALUE_WITNESS(al, AllocateBuffer)
17VALUE_WITNESS(ca, AssignWithCopy)
18VALUE_WITNESS(ta, AssignWithTake)
19VALUE_WITNESS(de, DeallocateBuffer)
20VALUE_WITNESS(xx, Destroy)
21VALUE_WITNESS(XX, DestroyBuffer)
22VALUE_WITNESS(Xx, DestroyArray)
23VALUE_WITNESS(CP, InitializeBufferWithCopyOfBuffer)
24VALUE_WITNESS(Cp, InitializeBufferWithCopy)
25VALUE_WITNESS(cp, InitializeWithCopy)
26VALUE_WITNESS(Tk, InitializeBufferWithTake)
27VALUE_WITNESS(tk, InitializeWithTake)
28VALUE_WITNESS(pr, ProjectBuffer)
29VALUE_WITNESS(TK, InitializeBufferWithTakeOfBuffer)
30VALUE_WITNESS(Cc, InitializeArrayWithCopy)
31VALUE_WITNESS(Tt, InitializeArrayWithTakeFrontToBack)
32VALUE_WITNESS(tT, InitializeArrayWithTakeBackToFront)
33VALUE_WITNESS(xs, StoreExtraInhabitant)
34VALUE_WITNESS(xg, GetExtraInhabitantIndex)
35VALUE_WITNESS(ug, GetEnumTag)
36VALUE_WITNESS(up, DestructiveProjectEnumData)
37VALUE_WITNESS(ui, DestructiveInjectEnumTag)
38VALUE_WITNESS(et, GetEnumTagSinglePayload)
39VALUE_WITNESS(st, StoreEnumTagSinglePayload)
40
41#undef VALUE_WITNESS
42