A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1DecompositionDecl.html below:

clang: clang::DecompositionDecl Class Reference

llvm::ArrayRef< BindingDecl * >  bindings () const   auto  flat_bindings () const   void  printName (raw_ostream &OS, const PrintingPolicy &Policy) const override   Pretty-print the unqualified name of this declaration.
  SourceRange  getSourceRange () const override LLVM_READONLY   Source range that this declaration covers.
  StorageClass  getStorageClass () const   Returns the storage class as written in the source.
  void  setStorageClass (StorageClass SC)   void  setTSCSpec (ThreadStorageClassSpecifier TSC)   ThreadStorageClassSpecifier  getTSCSpec () const   TLSKind  getTLSKind () const   bool  hasLocalStorage () const   Returns true if a variable with function scope is a non-static local variable.
  bool  isStaticLocal () const   Returns true if a variable with function scope is a static local variable.
  bool  hasExternalStorage () const   Returns true if a variable has extern or private_extern storage.
  bool  hasGlobalStorage () const   Returns true for all variables that do not have local storage.
  StorageDuration  getStorageDuration () const   Get the storage duration of this variable, per C++ [basic.stc].
  LanguageLinkage  getLanguageLinkage () const   Compute the language linkage.
  bool  isExternC () const   Determines whether this variable is a variable with external, C linkage.
  bool  isInExternCContext () const   Determines whether this variable's context is, or is nested within, a C++ extern "C" linkage spec.
  bool  isInExternCXXContext () const   Determines whether this variable's context is, or is nested within, a C++ extern "C++" linkage spec.
  bool  isLocalVarDecl () const   Returns true for local variable declarations other than parameters.
  bool  isLocalVarDeclOrParm () const   Similar to isLocalVarDecl but also includes parameters.
  bool  isFunctionOrMethodVarDecl () const   Similar to isLocalVarDecl, but excludes variables declared in blocks.
  bool  isStaticDataMember () const   Determines whether this is a static data member.
  VarDeclgetCanonicalDecl () override   Retrieves the "canonical" declaration of the given declaration.
  const VarDeclgetCanonicalDecl () const   DefinitionKind  isThisDeclarationADefinition (ASTContext &) const   Check whether this declaration is a definition.
  DefinitionKind  isThisDeclarationADefinition () const   DefinitionKind  hasDefinition (ASTContext &) const   Check whether this variable is defined in this translation unit.
  DefinitionKind  hasDefinition () const   VarDeclgetActingDefinition ()   Get the tentative definition that acts as the real definition in a TU.
  const VarDeclgetActingDefinition () const   VarDeclgetDefinition (ASTContext &)   Get the real (not just tentative) definition for this declaration.
  const VarDeclgetDefinition (ASTContext &C) const   VarDeclgetDefinition ()   const VarDeclgetDefinition () const   bool  isOutOfLine () const override   Determine whether this is or was instantiated from an out-of-line definition of a static data member.
  bool  isFileVarDecl () const   Returns true for file scoped variable declaration.
  const ExprgetAnyInitializer () const   Get the initializer for this variable, no matter which declaration it is attached to.
  const ExprgetAnyInitializer (const VarDecl *&D) const   Get the initializer for this variable, no matter which declaration it is attached to.
  bool  hasInit () const   const ExprgetInit () const   ExprgetInit ()   Stmt **  getInitAddress ()   Retrieve the address of the initializer expression.
  void  setInit (Expr *I)   VarDeclgetInitializingDeclaration ()   Get the initializing declaration of this variable, if any.
  const VarDeclgetInitializingDeclaration () const   bool  mightBeUsableInConstantExpressions (const ASTContext &C) const   Determine whether this variable's value might be usable in a constant expression, according to the relevant language standard.
  bool  isUsableInConstantExpressions (const ASTContext &C) const   Determine whether this variable's value can be used in a constant expression, according to the relevant language standard, including checking whether it was initialized by a constant expression.
  EvaluatedStmtensureEvaluatedStmt () const   Convert the initializer for this declaration to the elaborated EvaluatedStmt form, which contains extra information on the evaluated value of the initializer.
  EvaluatedStmtgetEvaluatedStmt () const   APValueevaluateValue () const   Attempt to evaluate the value of the initializer attached to this declaration, and produce notes explaining why it cannot be evaluated.
  APValuegetEvaluatedValue () const   Return the already-evaluated value of this variable's initializer, or NULL if the value is not yet known.
  bool  evaluateDestruction (SmallVectorImpl< PartialDiagnosticAt > &Notes) const   Evaluate the destruction of this variable to determine if it constitutes constant destruction.
  bool  hasConstantInitialization () const   Determine whether this variable has constant initialization.
  bool  hasICEInitializer (const ASTContext &Context) const   Determine whether the initializer of this variable is an integer constant expression.
  bool  checkForConstantInitialization (SmallVectorImpl< PartialDiagnosticAt > &Notes) const   Evaluate the initializer of this variable to determine whether it's a constant initializer.
  void  setInitStyle (InitializationStyle Style)   InitializationStyle  getInitStyle () const   The style of initialization for this declaration.
  bool  isDirectInit () const   Whether the initializer is a direct-initializer (list or call).
  bool  isThisDeclarationADemotedDefinition () const   If this definition should pretend to be a declaration.
  void  demoteThisDefinitionToDeclaration ()   This is a definition which should be demoted to a declaration.
  bool  isExceptionVariable () const   Determine whether this variable is the exception variable in a C++ catch statememt or an Objective-C @catch statement.
  void  setExceptionVariable (bool EV)   bool  isNRVOVariable () const   Determine whether this local variable can be used with the named return value optimization (NRVO).
  void  setNRVOVariable (bool NRVO)   bool  isCXXForRangeDecl () const   Determine whether this variable is the for-range-declaration in a C++0x for-range statement.
  void  setCXXForRangeDecl (bool FRD)   bool  isObjCForDecl () const   Determine whether this variable is a for-loop declaration for a for-in statement in Objective-C.
  void  setObjCForDecl (bool FRD)   bool  isARCPseudoStrong () const   Determine whether this variable is an ARC pseudo-__strong variable.
  void  setARCPseudoStrong (bool PS)   bool  isInline () const   Whether this variable is (C++1z) inline.
  bool  isInlineSpecified () const   void  setInlineSpecified ()   void  setImplicitlyInline ()   bool  isConstexpr () const   Whether this variable is (C++11) constexpr.
  void  setConstexpr (bool IC)   bool  isInitCapture () const   Whether this variable is the implicit variable for a lambda init-capture.
  void  setInitCapture (bool IC)   bool  isPreviousDeclInSameBlockScope () const   Whether this local extern variable declaration's previous declaration was declared in the same block scope.
  void  setPreviousDeclInSameBlockScope (bool Same)   bool  isEscapingByref () const   Indicates the capture is a __block variable that is captured by a block that can potentially escape (a block for which BlockDecl::doesNotEscape returns false).
  bool  isNonEscapingByref () const   Indicates the capture is a __block variable that is never captured by an escaping block.
  void  setEscapingByref ()   bool  isCXXCondDecl () const   void  setCXXCondDecl ()   bool  hasDependentAlignment () const   Determines if this variable's alignment is dependent.
  VarDeclgetTemplateInstantiationPattern () const   Retrieve the variable declaration from which this variable could be instantiated, if it is an instantiation (rather than a non-template).
  VarDeclgetInstantiatedFromStaticDataMember () const   If this variable is an instantiated static data member of a class template specialization, returns the templated static data member from which it was instantiated.
  TemplateSpecializationKind  getTemplateSpecializationKind () const   If this variable is an instantiation of a variable template or a static data member of a class template, determine what kind of template specialization or instantiation this is.
  TemplateSpecializationKind  getTemplateSpecializationKindForInstantiation () const   Get the template specialization kind of this variable for the purposes of template instantiation.
  SourceLocation  getPointOfInstantiation () const   If this variable is an instantiation of a variable template or a static data member of a class template, determine its point of instantiation.
  MemberSpecializationInfogetMemberSpecializationInfo () const   If this variable is an instantiation of a static data member of a class template specialization, retrieves the member specialization information.
  void  setTemplateSpecializationKind (TemplateSpecializationKind TSK, SourceLocation PointOfInstantiation=SourceLocation())   For a static data member that was instantiated from a static data member of a class template, set the template specialiation kind.
  void  setInstantiationOfStaticDataMember (VarDecl *VD, TemplateSpecializationKind TSK)   Specify that this variable is an instantiation of the static data member VD.
  VarTemplateDeclgetDescribedVarTemplate () const   Retrieves the variable template that is described by this variable declaration.
  void  setDescribedVarTemplate (VarTemplateDecl *Template)   bool  isKnownToBeDefined () const   bool  isNoDestroy (const ASTContext &) const   Is destruction of this variable entirely suppressed? If so, the variable need not have a usable destructor at all.
  QualType::DestructionKind  needsDestruction (const ASTContext &Ctx) const   Would the destruction of this variable have any effect, and if so, what kind?
  bool  hasFlexibleArrayInit (const ASTContext &Ctx) const   Whether this variable has a flexible array member initialized with one or more elements.
  CharUnits  getFlexibleArrayInitChars (const ASTContext &Ctx) const   If hasFlexibleArrayInit is true, compute the number of additional bytes necessary to store those elements.
  TypeSourceInfogetTypeSourceInfo () const   void  setTypeSourceInfo (TypeSourceInfo *TI)   SourceLocation  getInnerLocStart () const   Return start of source range ignoring outer template declarations.
  void  setInnerLocStart (SourceLocation L)   SourceLocation  getOuterLocStart () const   Return start of source range taking into account any outer template declarations.
  SourceRange  getSourceRange () const override LLVM_READONLY   Source range that this declaration covers.
  SourceLocation  getBeginLoc () const LLVM_READONLY   NestedNameSpecifiergetQualifier () const   Retrieve the nested-name-specifier that qualifies the name of this declaration, if it was present in the source.
  NestedNameSpecifierLoc  getQualifierLoc () const   Retrieve the nested-name-specifier (with source-location information) that qualifies the name of this declaration, if it was present in the source.
  void  setQualifierInfo (NestedNameSpecifierLoc QualifierLoc)   ExprgetTrailingRequiresClause ()   Get the constraint-expression introduced by the trailing requires-clause in the function/member declaration, or null if no requires-clause was provided.
  const ExprgetTrailingRequiresClause () const   void  setTrailingRequiresClause (Expr *TrailingRequiresClause)   unsigned  getNumTemplateParameterLists () const   TemplateParameterListgetTemplateParameterList (unsigned index) const   void  setTemplateParameterListsInfo (ASTContext &Context, ArrayRef< TemplateParameterList * > TPLists)   SourceLocation  getTypeSpecStartLoc () const   SourceLocation  getTypeSpecEndLoc () const   QualType  getType () const   void  setType (QualType newType)   bool  isWeak () const   Determine whether this symbol is weakly-imported, or declared with the weak or weak-ref attr.
  bool  isInitCapture () const   Whether this variable is the implicit variable for a lambda init-capture.
  VarDeclgetPotentiallyDecomposedVarDecl ()   const VarDeclgetPotentiallyDecomposedVarDecl () const   bool  isParameterPack () const   Determine whether this value is actually a function parameter pack, init-capture pack, or structured binding pack.
  IdentifierInfogetIdentifier () const   Get the identifier that names this declaration, if there is one.
  StringRef  getName () const   Get the name of identifier for this declaration as a StringRef.
  std::string  getNameAsString () const   Get a human-readable name for the declaration, even if it is one of the special kinds of names (C++ constructor, Objective-C selector, etc).
  virtual void  printName (raw_ostream &OS, const PrintingPolicy &Policy) const   Pretty-print the unqualified name of this declaration.
  void  printName (raw_ostream &OS) const   Calls printName() with the ASTContext printing policy from the decl.
  DeclarationName  getDeclName () const   Get the actual, stored name of the declaration, which may be a special name.
  void  setDeclName (DeclarationName N)   Set the name of this declaration.
  void  printQualifiedName (raw_ostream &OS) const   Returns a human-readable qualified name for this declaration, like A::B::i, for i being member of namespace A::B.
  void  printQualifiedName (raw_ostream &OS, const PrintingPolicy &Policy) const   void  printNestedNameSpecifier (raw_ostream &OS) const   Print only the nested name specifier part of a fully-qualified name, including the '::' at the end.
  void  printNestedNameSpecifier (raw_ostream &OS, const PrintingPolicy &Policy) const   std::string  getQualifiedNameAsString () const   virtual void  getNameForDiagnostic (raw_ostream &OS, const PrintingPolicy &Policy, bool Qualified) const   Appends a human-readable name for this declaration into the given stream.
  bool  declarationReplaces (const NamedDecl *OldD, bool IsKnownNewer=true) const   Determine whether this declaration, if known to be well-formed within its context, will replace the declaration OldD if introduced into scope.
  bool  hasLinkage () const   Determine whether this declaration has linkage.
  bool  isCXXClassMember () const   Determine whether this declaration is a C++ class member.
  bool  isCXXInstanceMember () const   Determine whether the given declaration is an instance member of a C++ class.
  ReservedIdentifierStatus  isReserved (const LangOptions &LangOpts) const   Determine if the declaration obeys the reserved identifier rules of the given language.
  Linkage  getLinkageInternal () const   Determine what kind of linkage this entity has.
  Linkage  getFormalLinkage () const   Get the linkage from a semantic point of view.
  bool  hasExternalFormalLinkage () const   True if this decl has external linkage.
  bool  isExternallyVisible () const   bool  isExternallyDeclarable () const   Determine whether this declaration can be redeclared in a different translation unit.
  Visibility  getVisibility () const   Determines the visibility of this entity.
  LinkageInfo  getLinkageAndVisibility () const   Determines the linkage and visibility of this entity.
  std::optional< VisibilitygetExplicitVisibility (ExplicitVisibilityKind kind) const   If visibility was explicitly specified for this declaration, return that visibility.
  bool  isLinkageValid () const   True if the computed linkage is valid.
  bool  hasLinkageBeenComputed () const   True if something has required us to compute the linkage of this declaration.
  bool  isPlaceholderVar (const LangOptions &LangOpts) const   NamedDeclgetUnderlyingDecl ()   Looks through UsingDecls and ObjCCompatibleAliasDecls for the underlying named decl.
  const NamedDeclgetUnderlyingDecl () const   NamedDeclgetMostRecentDecl ()   const NamedDeclgetMostRecentDecl () const   ObjCStringFormatFamily  getObjCFStringFormattingFamily () const   bool  isModulePrivate () const   Whether this declaration was marked as being private to the module in which it was defined.
  void  setModulePrivate ()   Specify that this declaration was marked as being private to the module in which it was defined.
    Decl ()=delete     Decl (const Decl &)=delete     Decl (Decl &&)=delete   Decloperator= (const Decl &)=delete   Decloperator= (Decl &&)=delete   virtual SourceRange  getSourceRange () const LLVM_READONLY   Source range that this declaration covers.
  SourceLocation  getBeginLoc () const LLVM_READONLY   SourceLocation  getEndLoc () const LLVM_READONLY   SourceLocation  getLocation () const   void  setLocation (SourceLocation L)   Kind  getKind () const   const char *  getDeclKindName () const   DeclgetNextDeclInContext ()   const DeclgetNextDeclInContext () const   DeclContextgetDeclContext ()   const DeclContextgetDeclContext () const   DeclContextgetNonTransparentDeclContext ()   Return the non transparent context.
  const DeclContextgetNonTransparentDeclContext () const   DeclgetNonClosureContext ()   Find the innermost non-closure ancestor of this declaration, walking up through blocks, lambdas, etc.
  const DeclgetNonClosureContext () const   TranslationUnitDeclgetTranslationUnitDecl ()   const TranslationUnitDeclgetTranslationUnitDecl () const   bool  isInAnonymousNamespace () const   bool  isInStdNamespace () const   bool  isFileContextDecl () const   ASTContextgetASTContext () const LLVM_READONLY   const LangOptionsgetLangOpts () const LLVM_READONLY   Helper to get the language options from the ASTContext.
  void  setAccess (AccessSpecifier AS)   AccessSpecifier  getAccess () const   AccessSpecifier  getAccessUnsafe () const   Retrieve the access specifier for this declaration, even though it may not yet have been properly set.
  bool  hasAttrs () const   void  setAttrs (const AttrVec &Attrs)   AttrVecgetAttrs ()   const AttrVecgetAttrs () const   void  dropAttrs ()   void  addAttr (Attr *A)   attr_range  attrs () const   attr_iterator  attr_begin () const   attr_iterator  attr_end () const   template<typename... Ts> void  dropAttrs ()   template<typename T > void  dropAttr ()   template<typename T > llvm::iterator_range< specific_attr_iterator< T > >  specific_attrs () const   template<typename T > specific_attr_iterator< Tspecific_attr_begin () const   template<typename T > specific_attr_iterator< Tspecific_attr_end () const   template<typename T > TgetAttr () const   template<typename T > bool  hasAttr () const   unsigned  getMaxAlignment () const   getMaxAlignment - return the maximum alignment specified by attributes on this decl, 0 if there are none.
  void  setInvalidDecl (bool Invalid=true)   setInvalidDecl - Indicates the Decl had a semantic error.
  bool  isInvalidDecl () const   bool  isImplicit () const   isImplicit - Indicates whether the declaration was implicitly generated by the implementation.
  void  setImplicit (bool I=true)   bool  isUsed (bool CheckUsedAttr=true) const   Whether any (re-)declaration of the entity was used, meaning that a definition is required.
  void  setIsUsed ()   Set whether the declaration is used, in the sense of odr-use.
  void  markUsed (ASTContext &C)   Mark the declaration used, in the sense of odr-use.
  bool  isReferenced () const   Whether any declaration of this entity was referenced.
  bool  isThisDeclarationReferenced () const   Whether this declaration was referenced.
  void  setReferenced (bool R=true)   bool  isTopLevelDeclInObjCContainer () const   Whether this declaration is a top-level declaration (function, global variable, etc.) that is lexically inside an objc container definition.
  void  setTopLevelDeclInObjCContainer (bool V=true)   ExternalSourceSymbolAttr *  getExternalSourceSymbolAttr () const   Looks on this and related declarations for an applicable external source symbol attribute.
  bool  isModulePrivate () const   Whether this declaration was marked as being private to the module in which it was defined.
  bool  isInExportDeclContext () const   Whether this declaration was exported in a lexical context.
  bool  isInvisibleOutsideTheOwningModule () const   bool  isInAnotherModuleUnit () const   Whether this declaration comes from another module unit.
  bool  isInCurrentModuleUnit () const   Whether this declaration comes from the same module unit being compiled.
  bool  shouldEmitInExternalSource () const   Whether the definition of the declaration should be emitted in external sources.
  bool  isFromExplicitGlobalModule () const   Whether this declaration comes from explicit global module.
  bool  isFromGlobalModule () const   Whether this declaration comes from global module.
  bool  isInNamedModule () const   Whether this declaration comes from a named module.
  bool  isFromHeaderUnit () const   Whether this declaration comes from a header unit.
  bool  hasDefiningAttr () const   Return true if this declaration has an attribute which acts as definition of the entity, such as 'alias' or 'ifunc'.
  const AttrgetDefiningAttr () const   Return this declaration's defining attribute if it has one.
  void  setFromASTFile ()   Set the FromASTFile flag.
  void  setOwningModuleID (unsigned ID)   Set the owning module ID.
  AvailabilityResult  getAvailability (std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const   Determine the availability of the given declaration.
  VersionTuple  getVersionIntroduced () const   Retrieve the version of the target platform in which this declaration was introduced.
  bool  isDeprecated (std::string *Message=nullptr) const   Determine whether this declaration is marked 'deprecated'.
  bool  isUnavailable (std::string *Message=nullptr) const   Determine whether this declaration is marked 'unavailable'.
  bool  isWeakImported () const   Determine whether this is a weak-imported symbol.
  bool  canBeWeakImported (bool &IsDefinition) const   Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the weak_import attribute.
  bool  isFromASTFile () const   Determine whether this declaration came from an AST file (such as a precompiled header or module) rather than having been parsed.
  GlobalDeclID  getGlobalID () const   Retrieve the global declaration ID associated with this declaration, which specifies where this Decl was loaded from.
  unsigned  getOwningModuleID () const   Retrieve the global ID of the module that owns this particular declaration.
  ModulegetImportedOwningModule () const   Get the imported owning module, if this decl is from an imported (non-local) module.
  ModulegetLocalOwningModule () const   Get the local owning module, if known.
  void  setLocalOwningModule (Module *M)   bool  hasOwningModule () const   Is this declaration owned by some module?
  ModulegetOwningModule () const   Get the module that owns this declaration (for visibility purposes).
  ModulegetTopLevelOwningNamedModule () const   Get the top level owning named module that owns this declaration if any.
  ModulegetOwningModuleForLinkage () const   Get the module that owns this declaration for linkage purposes.
  bool  isUnconditionallyVisible () const   Determine whether this declaration is definitely visible to name lookup, independent of whether the owning module is visible.
  bool  isReachable () const   void  setVisibleDespiteOwningModule ()   Set that this declaration is globally visible, even if it came from a module that is not visible.
  ModuleOwnershipKind  getModuleOwnershipKind () const   Get the kind of module ownership for this declaration.
  void  setModuleOwnershipKind (ModuleOwnershipKind MOK)   Set whether this declaration is hidden from name lookup.
  unsigned  getIdentifierNamespace () const   bool  isInIdentifierNamespace (unsigned NS) const   bool  hasTagIdentifierNamespace () const   DeclContextgetLexicalDeclContext ()   getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC).
  const DeclContextgetLexicalDeclContext () const   virtual bool  isOutOfLine () const   Determine whether this declaration is declared out of line (outside its semantic context).
  void  setDeclContext (DeclContext *DC)   setDeclContext - Set both the semantic and lexical DeclContext to DC.
  void  setLexicalDeclContext (DeclContext *DC)   bool  isTemplated () const   Determine whether this declaration is a templated entity (whether it is.
  unsigned  getTemplateDepth () const   Determine the number of levels of template parameter surrounding this declaration.
  bool  isDefinedOutsideFunctionOrMethod () const   isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside the current function or method.
  bool  isInLocalScopeForInstantiation () const   Determine whether a substitution into this declaration would occur as part of a substitution into a dependent local scope.
  const DeclContextgetParentFunctionOrMethod (bool LexicalParent=false) const   If this decl is defined inside a function/method/block it returns the corresponding DeclContext, otherwise it returns null.
  DeclContextgetParentFunctionOrMethod (bool LexicalParent=false)   virtual DeclgetCanonicalDecl ()   Retrieves the "canonical" declaration of the given declaration.
  const DeclgetCanonicalDecl () const   bool  isCanonicalDecl () const   Whether this particular Decl is a canonical one.
  redecl_range  redecls () const   Returns an iterator range for all the redeclarations of the same decl.
  redecl_iterator  redecls_begin () const   redecl_iterator  redecls_end () const   DeclgetPreviousDecl ()   Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.
  const DeclgetPreviousDecl () const   Retrieve the previous declaration that declares the same entity as this declaration, or NULL if there is no previous declaration.
  bool  isFirstDecl () const   True if this is the first declaration in its redeclaration chain.
  DeclgetMostRecentDecl ()   Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).
  const DeclgetMostRecentDecl () const   Retrieve the most recent declaration that declares the same entity as this declaration (which may be this declaration).
  virtual StmtgetBody () const   getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body.
  virtual bool  hasBody () const   Returns true if this Decl represents a declaration for a body of code, such as a function or method definition.
  SourceLocation  getBodyRBrace () const   getBodyRBrace - Gets the right brace of the body, if a body exists.
  bool  isTemplateParameter () const   isTemplateParameter - Determines whether this declaration is a template parameter.
  bool  isTemplateParameterPack () const   isTemplateParameter - Determines whether this declaration is a template parameter pack.
  bool  isParameterPack () const   Whether this declaration is a parameter pack.
  bool  isTemplateDecl () const   returns true if this declaration is a template
  bool  isFunctionOrFunctionTemplate () const   Whether this declaration is a function or function template.
  TemplateDeclgetDescribedTemplate () const   If this is a declaration that describes some template, this method returns that template declaration.
  const TemplateParameterListgetDescribedTemplateParams () const   If this is a declaration that describes some template or partial specialization, this returns the corresponding template parameter list.
  FunctionDeclgetAsFunction () LLVM_READONLY   Returns the function itself, or the templated function if this is a function template.
  const FunctionDeclgetAsFunction () const   void  setLocalExternDecl ()   Changes the namespace of this declaration to reflect that it's a function-local extern declaration.
  bool  isLocalExternDecl () const   Determine whether this is a block-scope declaration with linkage.
  void  setObjectOfFriendDecl (bool PerformFriendInjection=false)   Changes the namespace of this declaration to reflect that it's the object of a friend declaration.
  void  clearIdentifierNamespace ()   Clears the namespace of this declaration.
  FriendObjectKind  getFriendObjectKind () const   Determines whether this declaration is the object of a friend declaration and, if so, what kind.
  void  setNonMemberOperator ()   Specifies that this declaration is a C++ overloaded non-member.
  void  print (raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const   void  print (raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0, bool PrintInstantiation=false) const   void  dump () const   void  dumpColor () const   void  dump (raw_ostream &Out, bool Deserialize=false, ASTDumpOutputFormat OutputFormat=ADOF_Default) const   int64_t  getID () const   const FunctionTypegetFunctionType (bool BlocksToo=true) const   Looks through the Decl's underlying type to extract a FunctionType when possible.
  bool  isFunctionPointerType () const     Redeclarable (const ASTContext &Ctx)   VarDeclgetPreviousDecl ()   Return the previous declaration of this declaration or NULL if this is the first declaration.
  const VarDeclgetPreviousDecl () const   VarDeclgetFirstDecl ()   Return the first declaration of this declaration or itself if this is the only declaration.
  const VarDeclgetFirstDecl () const   Return the first declaration of this declaration or itself if this is the only declaration.
  bool  isFirstDecl () const   True if this is the first declaration in its redeclaration chain.
  VarDeclgetMostRecentDecl ()   Returns the most recent (re)declaration of this declaration.
  const VarDeclgetMostRecentDecl () const   Returns the most recent (re)declaration of this declaration.
  void  setPreviousDecl (VarDecl *PrevDecl)   Set the previous declaration.
  redecl_range  redecls () const   Returns an iterator range for all the redeclarations of the same decl.
  redecl_iterator  redecls_begin () const   redecl_iterator  redecls_end () const   static DecompositionDeclCreate (ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation LSquareLoc, QualType T, TypeSourceInfo *TInfo, StorageClass S, ArrayRef< BindingDecl * > Bindings)   static DecompositionDeclCreateDeserialized (ASTContext &C, GlobalDeclID ID, unsigned NumBindings)   static bool  classof (const Decl *D)   static bool  classofKind (Kind K)   static const char *  getStorageClassSpecifierString (StorageClass SC)   Return the string used to specify the storage class SC.
  static VarDeclCreate (ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, const IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo, StorageClass S)   static VarDeclCreateDeserialized (ASTContext &C, GlobalDeclID ID)   static bool  classof (const Decl *D)   static bool  classofKind (Kind K)   static bool  classof (const Decl *D)   static bool  classofKind (Kind K)   static bool  classof (const Decl *D)   static bool  classofKind (Kind K)   static bool  classof (const Decl *D)   static bool  classofKind (Kind K)   static bool  isFlexibleArrayMemberLike (ASTContext &Context, const Decl *D, QualType Ty, LangOptions::StrictFlexArraysLevelKind StrictFlexArraysLevel, bool IgnoreTemplateOrMacroSubstitution)   Whether it resembles a flexible array member.
  static unsigned  getIdentifierNamespaceForKind (Kind DK)   static bool  isTagIdentifierNamespace (unsigned NS)   static void  add (Kind k)   static void  EnableStatistics ()   static void  PrintStats ()   static bool  classofKind (Kind K)   static DeclContextcastToDeclContext (const Decl *)   static DeclcastFromDeclContext (const DeclContext *)   static void  printGroup (Decl **Begin, unsigned NumDecls, raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0)   enum   InitializationStyle { CInit , CallInit , ListInit , ParenListInit }   Initialization styles. More...
  enum   TLSKind { TLS_None , TLS_Static , TLS_Dynamic }   Kinds of thread-local storage. More...
  enum   DefinitionKind { DeclarationOnly , TentativeDefinition , Definition }   using  redecl_range = redeclarable_base::redecl_range   using  redecl_iterator = redeclarable_base::redecl_iterator   enum   ExplicitVisibilityKind { VisibilityForType , VisibilityForValue }   Kinds of explicit visibility. More...
  enum   Kind   Lists the kind of concrete classes of Decl. More...
  enum   IdentifierNamespace {
  IDNS_Label = 0x0001 , IDNS_Tag = 0x0002 , IDNS_Type = 0x0004 , IDNS_Member = 0x0008 ,
  IDNS_Namespace = 0x0010 , IDNS_Ordinary = 0x0020 , IDNS_ObjCProtocol = 0x0040 , IDNS_OrdinaryFriend = 0x0080 ,
  IDNS_TagFriend = 0x0100 , IDNS_Using = 0x0200 , IDNS_NonMemberOperator = 0x0400 , IDNS_LocalExtern = 0x0800 ,
  IDNS_OMPReduction = 0x1000 , IDNS_OMPMapper = 0x2000
}   IdentifierNamespace - The different namespaces in which declarations may appear. More...
  enum   ObjCDeclQualifier {
  OBJC_TQ_None = 0x0 , OBJC_TQ_In = 0x1 , OBJC_TQ_Inout = 0x2 , OBJC_TQ_Out = 0x4 ,
  OBJC_TQ_Bycopy = 0x8 , OBJC_TQ_Byref = 0x10 , OBJC_TQ_Oneway = 0x20 , OBJC_TQ_CSNullability = 0x40
}   ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More...
  enum class   ModuleOwnershipKind : unsigned char {
  Unowned , Visible , VisibleWhenImported , ReachableWhenImported ,
  ModulePrivate
}   The kind of ownership a declaration has, for visibility purposes. More...
  enum   FriendObjectKind { FOK_None , FOK_Declared , FOK_Undeclared }   using  attr_iterator = AttrVec::const_iterator   using  attr_range = llvm::iterator_range< attr_iterator >   using  redecl_range = llvm::iterator_range< redecl_iterator >   using  redecl_range = llvm::iterator_range< redecl_iterator >   enum   { NumParameterIndexBits = 8 }   enum   DefaultArgKind { DAK_None , DAK_Unparsed , DAK_Uninstantiated , DAK_Normal }   enum   { NumScopeDepthOrObjCQualsBits = 7 }   using  InitType = llvm::PointerUnion< Stmt *, EvaluatedStmt * >   using  redeclarable_base = Redeclarable< VarDecl >     VarDecl (Kind DK, ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, const IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo, StorageClass SC)   VarDeclgetNextRedeclarationImpl () override   Returns the next redeclaration or itself if this is the only decl.
  VarDeclgetPreviousDeclImpl () override   Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.
  VarDeclgetMostRecentDeclImpl () override   Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.
    DeclaratorDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T, TypeSourceInfo *TInfo, SourceLocation StartL)     ValueDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N, QualType T)     NamedDecl (Kind DK, DeclContext *DC, SourceLocation L, DeclarationName N)   void *  operator new (std::size_t Size, const ASTContext &Ctx, GlobalDeclID ID, std::size_t Extra=0)   Allocate memory for a deserialized declaration.
  void *  operator new (std::size_t Size, const ASTContext &Ctx, DeclContext *Parent, std::size_t Extra=0)   Allocate memory for a non-deserialized declaration.
    Decl (Kind DK, DeclContext *DC, SourceLocation L)     Decl (Kind DK, EmptyShell Empty)   virtual  ~Decl ()   void  updateOutOfDate (IdentifierInfo &II) const   Update a potentially out-of-date declaration.
  Linkage  getCachedLinkage () const   void  setCachedLinkage (Linkage L) const   bool  hasCachedLinkage () const   void  setModulePrivate ()   Specify that this declaration was marked as being private to the module in which it was defined.
  bool  hasLocalOwningModuleStorage () const   virtual DeclgetNextRedeclarationImpl ()   Returns the next redeclaration or itself if this is the only decl.
  virtual DeclgetPreviousDeclImpl ()   Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.
  virtual DeclgetMostRecentDeclImpl ()   Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.
  ASTMutationListenergetASTMutationListener () const   VarDeclgetNextRedeclaration () const   static DeclLink  PreviousDeclLink (VarDecl *D)   static DeclLink  LatestDeclLink (const ASTContext &Ctx)   InitType  Init   The initializer for this variable or, for a ParmVarDecl, the C++ default argument.
  union {    unsigned   AllBits      VarDeclBitfields   VarDeclBits      ParmVarDeclBitfields   ParmVarDeclBits      NonParmVarDeclBitfields   NonParmVarDeclBits   };    llvm::PointerIntPair< Decl *, 3, ModuleOwnershipKindNextInContextAndBits   The next declaration within the same lexical DeclContext.
  unsigned  Access: 2   Access - Used by C++ decls for the access specifier.
  unsigned  FromASTFile: 1   Whether this declaration was loaded from an AST file.
  unsigned  IdentifierNamespace: 14   IdentifierNamespace - This specifies what IDNS_* namespace this lives in.
  unsigned  CacheValidAndLinkage: 3   If 0, we have not computed the linkage of this declaration.
  DeclLink  RedeclLink   Points to the next redeclaration in the chain.
  VarDeclFirst  

A decomposition declaration.

For instance, given:

int n[3]; auto &[a, b, c] = n;

the second line declares a DecompositionDecl of type 'int (&)[3]', and three BindingDecls (named a, b, and c). An instance of this class is always unnamed, but behaves in almost all other respects like a VarDecl.

Definition at line 4231 of file DeclCXX.h.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4