class InitializationKind
Declaration
class InitializationKind { /* full declaration omitted */ };
Description
Describes the kind of initialization being performed, along with location information for tokens related to the initialization (equal sign, parentheses).
Declared at: clang/include/clang/Sema/Initialization.h:566
Member Variables
- private clang::InitializationKind::InitKind Kind
- The kind of initialization being performed.
- private clang::InitializationKind::InitContext Context
- The context of the initialization.
- private clang::SourceLocation[3] Locations
- The source locations involved in the initialization.
Method Overview
- public bool AllowExplicit() const
- public static clang::InitializationKind CreateCStyleCast(clang::SourceLocation StartLoc, clang::SourceRange TypeRange, bool InitList)
- public static clang::InitializationKind CreateCast(clang::SourceRange TypeRange)
- public static clang::InitializationKind CreateCopy(clang::SourceLocation InitLoc, clang::SourceLocation EqualLoc, bool AllowExplicitConvs = false)
- public static clang::InitializationKind CreateDefault(clang::SourceLocation InitLoc)
- public static clang::InitializationKind CreateDirect(clang::SourceLocation InitLoc, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc)
- public static clang::InitializationKind CreateDirectList(clang::SourceLocation InitLoc, clang::SourceLocation LBraceLoc, clang::SourceLocation RBraceLoc)
- public static clang::InitializationKind CreateDirectList(clang::SourceLocation InitLoc)
- public static clang::InitializationKind CreateForInit(clang::SourceLocation Loc, bool DirectInit, clang::Expr * Init)
- public static clang::InitializationKind CreateFunctionalCast(clang::SourceRange TypeRange, bool InitList)
- public static clang::InitializationKind CreateValue(clang::SourceLocation InitLoc, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc, bool isImplicit = false)
- private InitializationKind(clang::InitializationKind::InitKind Kind, clang::InitializationKind::InitContext Context, clang::SourceLocation Loc1, clang::SourceLocation Loc2, clang::SourceLocation Loc3)
- public bool allowExplicitConversionFunctionsInRefBinding() const
- public clang::SourceLocation getEqualLoc() const
- public clang::InitializationKind::InitKind getKind() const
- public clang::SourceLocation getLocation() const
- public clang::SourceRange getParenOrBraceRange() const
- public clang::SourceRange getRange() const
- public bool hasParenOrBraceRange() const
- public bool isCStyleCast() const
- public bool isCStyleOrFunctionalCast() const
- public bool isCopyInit() const
- public bool isExplicitCast() const
- public bool isFunctionalCast() const
- public bool isImplicitValueInit() const
- public bool isStaticCast() const
Methods
¶bool AllowExplicit() const
bool AllowExplicit() const
Description
Retrieve whether this initialization allows the use of explicit constructors.
Declared at: clang/include/clang/Sema/Initialization.h:759
¶static clang::InitializationKind CreateCStyleCast(
clang::SourceLocation StartLoc,
clang::SourceRange TypeRange,
bool InitList)
static clang::InitializationKind CreateCStyleCast(
clang::SourceLocation StartLoc,
clang::SourceRange TypeRange,
bool InitList)
Description
Create a direct initialization for a C-style cast.
Declared at: clang/include/clang/Sema/Initialization.h:654
Parameters
- clang::SourceLocation StartLoc
- clang::SourceRange TypeRange
- bool InitList
¶static clang::InitializationKind CreateCast(
clang::SourceRange TypeRange)
static clang::InitializationKind CreateCast(
clang::SourceRange TypeRange)
Description
Create a direct initialization due to a cast that isn't a C-style or functional cast.
Declared at: clang/include/clang/Sema/Initialization.h:648
Parameters
- clang::SourceRange TypeRange
¶static clang::InitializationKind CreateCopy(
clang::SourceLocation InitLoc,
clang::SourceLocation EqualLoc,
bool AllowExplicitConvs = false)
static clang::InitializationKind CreateCopy(
clang::SourceLocation InitLoc,
clang::SourceLocation EqualLoc,
bool AllowExplicitConvs = false)
Description
Create a copy initialization.
Declared at: clang/include/clang/Sema/Initialization.h:673
Parameters
- clang::SourceLocation InitLoc
- clang::SourceLocation EqualLoc
- bool AllowExplicitConvs = false
¶static clang::InitializationKind CreateDefault(
clang::SourceLocation InitLoc)
static clang::InitializationKind CreateDefault(
clang::SourceLocation InitLoc)
Description
Create a default initialization.
Declared at: clang/include/clang/Sema/Initialization.h:682
Parameters
- clang::SourceLocation InitLoc
¶static clang::InitializationKind CreateDirect(
clang::SourceLocation InitLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc)
static clang::InitializationKind CreateDirect(
clang::SourceLocation InitLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc)
Description
Create a direct initialization.
Declared at: clang/include/clang/Sema/Initialization.h:627
Parameters
- clang::SourceLocation InitLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation RParenLoc
¶static clang::InitializationKind CreateDirectList(
clang::SourceLocation InitLoc,
clang::SourceLocation LBraceLoc,
clang::SourceLocation RBraceLoc)
static clang::InitializationKind CreateDirectList(
clang::SourceLocation InitLoc,
clang::SourceLocation LBraceLoc,
clang::SourceLocation RBraceLoc)
Declared at: clang/include/clang/Sema/Initialization.h:639
Parameters
- clang::SourceLocation InitLoc
- clang::SourceLocation LBraceLoc
- clang::SourceLocation RBraceLoc
¶static clang::InitializationKind CreateDirectList(
clang::SourceLocation InitLoc)
static clang::InitializationKind CreateDirectList(
clang::SourceLocation InitLoc)
Declared at: clang/include/clang/Sema/Initialization.h:634
Parameters
- clang::SourceLocation InitLoc
¶static clang::InitializationKind CreateForInit(
clang::SourceLocation Loc,
bool DirectInit,
clang::Expr* Init)
static clang::InitializationKind CreateForInit(
clang::SourceLocation Loc,
bool DirectInit,
clang::Expr* Init)
Description
Create an initialization from an initializer (which, for direct initialization from a parenthesized list, will be a ParenListExpr).
Declared at: clang/include/clang/Sema/Initialization.h:697
Parameters
- clang::SourceLocation Loc
- bool DirectInit
- clang::Expr* Init
¶static clang::InitializationKind
CreateFunctionalCast(clang::SourceRange TypeRange,
bool InitList)
static clang::InitializationKind
CreateFunctionalCast(clang::SourceRange TypeRange,
bool InitList)
Description
Create a direct initialization for a functional cast.
Declared at: clang/include/clang/Sema/Initialization.h:665
Parameters
- clang::SourceRange TypeRange
- bool InitList
¶static clang::InitializationKind CreateValue(
clang::SourceLocation InitLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc,
bool isImplicit = false)
static clang::InitializationKind CreateValue(
clang::SourceLocation InitLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc,
bool isImplicit = false)
Description
Create a value initialization.
Declared at: clang/include/clang/Sema/Initialization.h:687
Parameters
- clang::SourceLocation InitLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation RParenLoc
- bool isImplicit = false
¶InitializationKind(
clang::InitializationKind::InitKind Kind,
clang::InitializationKind::InitContext
Context,
clang::SourceLocation Loc1,
clang::SourceLocation Loc2,
clang::SourceLocation Loc3)
InitializationKind(
clang::InitializationKind::InitKind Kind,
clang::InitializationKind::InitContext
Context,
clang::SourceLocation Loc1,
clang::SourceLocation Loc2,
clang::SourceLocation Loc3)
Declared at: clang/include/clang/Sema/Initialization.h:617
Parameters
- clang::InitializationKind::InitKind Kind
- clang::InitializationKind::InitContext Context
- clang::SourceLocation Loc1
- clang::SourceLocation Loc2
- clang::SourceLocation Loc3
¶bool allowExplicitConversionFunctionsInRefBinding()
const
bool allowExplicitConversionFunctionsInRefBinding()
const
Description
Retrieve whether this initialization allows the use of explicit conversion functions when binding a reference. If the reference is the first parameter in a copy or move constructor, such conversions are permitted even though we are performing copy-initialization.
Declared at: clang/include/clang/Sema/Initialization.h:765
¶clang::SourceLocation getEqualLoc() const
clang::SourceLocation getEqualLoc() const
Description
Retrieve the location of the equal sign for copy initialization (if present).
Declared at: clang/include/clang/Sema/Initialization.h:750
¶clang::InitializationKind::InitKind getKind()
const
clang::InitializationKind::InitKind getKind()
const
Description
Determine the initialization kind.
Declared at: clang/include/clang/Sema/Initialization.h:708
¶clang::SourceLocation getLocation() const
clang::SourceLocation getLocation() const
Description
Retrieve the location at which initialization is occurring.
Declared at: clang/include/clang/Sema/Initialization.h:741
¶clang::SourceRange getParenOrBraceRange() const
clang::SourceRange getParenOrBraceRange() const
Description
Retrieve the source range containing the locations of the open and closing parentheses or braces for value, direct, and direct list initializations.
Declared at: clang/include/clang/Sema/Initialization.h:778
¶clang::SourceRange getRange() const
clang::SourceRange getRange() const
Description
Retrieve the source range that covers the initialization.
Declared at: clang/include/clang/Sema/Initialization.h:744
¶bool hasParenOrBraceRange() const
bool hasParenOrBraceRange() const
Description
Determine whether this initialization has a source range containing the locations of open and closing parentheses or braces.
Declared at: clang/include/clang/Sema/Initialization.h:771
¶bool isCStyleCast() const
bool isCStyleCast() const
Description
Determine whether this is a C-style cast.
Declared at: clang/include/clang/Sema/Initialization.h:726
¶bool isCStyleOrFunctionalCast() const
bool isCStyleOrFunctionalCast() const
Description
Determine whether this initialization is a C-style cast.
Declared at: clang/include/clang/Sema/Initialization.h:721
¶bool isCopyInit() const
bool isCopyInit() const
Declared at: clang/include/clang/Sema/Initialization.h:755
¶bool isExplicitCast() const
bool isExplicitCast() const
Description
Determine whether this initialization is an explicit cast.
Declared at: clang/include/clang/Sema/Initialization.h:713
¶bool isFunctionalCast() const
bool isFunctionalCast() const
Description
Determine whether this is a functional-style cast.
Declared at: clang/include/clang/Sema/Initialization.h:731
¶bool isImplicitValueInit() const
bool isImplicitValueInit() const
Description
Determine whether this initialization is an implicit value-initialization, e.g., as occurs during aggregate initialization.
Declared at: clang/include/clang/Sema/Initialization.h:738
¶bool isStaticCast() const
bool isStaticCast() const
Description
Determine whether this initialization is a static cast.
Declared at: clang/include/clang/Sema/Initialization.h:718