blob: 9d465c65fda98070e5e4b71a7e6ee29c8121f5e9 [file] [log] [blame]
Csaba Dabis0202c352019-08-22 00:20:36 +00001#pragma clang system_header
2
3namespace llvm {
4template <class X, class Y>
5const X *cast(Y Value);
6
7template <class X, class Y>
8const X *dyn_cast(Y *Value);
9template <class X, class Y>
10const X &dyn_cast(Y &Value);
11
12template <class X, class Y>
13const X *cast_or_null(Y Value);
14
15template <class X, class Y>
16const X *dyn_cast_or_null(Y *Value);
17template <class X, class Y>
18const X *dyn_cast_or_null(Y &Value);
19} // namespace llvm