#ifndef LLVM_CLANG_AST_IGNOREEXPR_H
#define LLVM_CLANG_AST_IGNOREEXPR_H
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
namespace clang {
namespace detail {
inline Expr *IgnoreExprNodesImpl(Expr *E) { … }
template <typename FnTy, typename... FnTys>
Expr *IgnoreExprNodesImpl(Expr *E, FnTy &&Fn, FnTys &&... Fns) { … }
}
template <typename... FnTys> Expr *IgnoreExprNodes(Expr *E, FnTys &&... Fns) { … }
template <typename... FnTys>
const Expr *IgnoreExprNodes(const Expr *E, FnTys &&...Fns) { … }
inline Expr *IgnoreImplicitCastsSingleStep(Expr *E) { … }
inline Expr *IgnoreImplicitCastsExtraSingleStep(Expr *E) { … }
inline Expr *IgnoreCastsSingleStep(Expr *E) { … }
inline Expr *IgnoreLValueCastsSingleStep(Expr *E) { … }
inline Expr *IgnoreBaseCastsSingleStep(Expr *E) { … }
inline Expr *IgnoreImplicitSingleStep(Expr *E) { … }
inline Expr *IgnoreElidableImplicitConstructorSingleStep(Expr *E) { … }
inline Expr *IgnoreImplicitAsWrittenSingleStep(Expr *E) { … }
inline Expr *IgnoreParensOnlySingleStep(Expr *E) { … }
inline Expr *IgnoreParensSingleStep(Expr *E) { … }
}
#endif