1//===--- Lambda.h - Types for C++ Lambdas -----------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9/// 10/// \file 11/// \brief Defines several types used to describe C++ lambda expressions 12/// that are shared between the parser and AST. 13/// 14//===----------------------------------------------------------------------===// 15 16 17#ifndef LLVM_CLANG_BASIC_LAMBDA_H 18#define LLVM_CLANG_BASIC_LAMBDA_H 19 20namespace clang { 21 22/// \brief The default, if any, capture method for a lambda expression. 23enum LambdaCaptureDefault { 24 LCD_None, 25 LCD_ByCopy, 26 LCD_ByRef 27}; 28 29/// \brief The different capture forms in a lambda introducer: 'this' or a 30/// copied or referenced variable. 31enum LambdaCaptureKind { 32 LCK_This, 33 LCK_ByCopy, 34 LCK_ByRef 35}; 36 37} // end namespace clang 38 39#endif // LLVM_CLANG_BASIC_LAMBDA_H 40