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_1StandardConversionSequence.html below:

clang: clang::StandardConversionSequence Class Reference

StandardConversionSequence - represents a standard conversion sequence (C++ 13.3.3.1.1). More...

#include "clang/Sema/Overload.h"

ImplicitConversionKind  First: 8   First – The first conversion can be an lvalue-to-rvalue conversion, array-to-pointer conversion, or function-to-pointer conversion.
  ImplicitConversionKind  Second: 8   Second - The second conversion can be an integral promotion, floating point promotion, integral conversion, floating point conversion, floating-integral conversion, pointer conversion, pointer-to-member conversion, or boolean conversion.
  ImplicitConversionKind  Dimension: 8   Dimension - Between the second and third conversion a vector or matrix dimension conversion may occur.
  ImplicitConversionKind  Third: 8   Third - The third conversion can be a qualification conversion or a function conversion.
  unsigned  DeprecatedStringLiteralToCharPtr: 1   Whether this is the deprecated conversion of a string literal to a pointer to non-const character data (C++ 4.2p2).
  unsigned  QualificationIncludesObjCLifetime: 1   Whether the qualification conversion involves a change in the Objective-C lifetime (for automatic reference counting).
  unsigned  IncompatibleObjC: 1   IncompatibleObjC - Whether this is an Objective-C conversion that we should warn about (if we actually use it).
  unsigned  ReferenceBinding: 1   ReferenceBinding - True when this is a reference binding (C++ [over.ics.ref]).
  unsigned  DirectBinding: 1   DirectBinding - True when this is a reference binding that is a direct binding (C++ [dcl.init.ref]).
  unsigned  IsLvalueReference: 1   Whether this is an lvalue reference binding (otherwise, it's an rvalue reference binding).
  unsigned  BindsToFunctionLvalue: 1   Whether we're binding to a function lvalue.
  unsigned  BindsToRvalue: 1   Whether we're binding to an rvalue.
  unsigned  BindsImplicitObjectArgumentWithoutRefQualifier: 1   Whether this binds an implicit object argument to a non-static member function without a ref-qualifier.
  unsigned  ObjCLifetimeConversionBinding: 1   Whether this binds a reference to an object with a different Objective-C lifetime qualifier.
  void *  FromTypePtr   FromType - The type that this conversion is converting from.
  void *  ToTypePtrs [3]   ToType - The types that this conversion is converting to in each step.
  CXXConstructorDeclCopyConstructor   CopyConstructor - The copy constructor that is used to perform this conversion, when the conversion is actually just the initialization of an object via copy constructor.
  DeclAccessPair  FoundCopyConstructor  

StandardConversionSequence - represents a standard conversion sequence (C++ 13.3.3.1.1).

A standard conversion sequence contains between zero and three conversions. If a particular conversion is not needed, it will be set to the identity conversion (ICK_Identity).

Definition at line 292 of file Overload.h.

◆ dump() LLVM_DUMP_METHOD void StandardConversionSequence::dump ( ) const ◆ getFromType() QualType clang::StandardConversionSequence::getFromType ( ) const inline ◆ getNarrowingKind()

Check if this standard conversion sequence represents a narrowing conversion, according to C++11 [dcl.init.list]p7.

Parameters
Ctx The AST context. Converted The result of applying this standard conversion sequence. ConstantValue If this is an NK_Constant_Narrowing conversion, the value of the expression prior to the narrowing conversion. ConstantType If this is an NK_Constant_Narrowing conversion, the type of the expression prior to the narrowing conversion. IgnoreFloatToIntegralConversion If true type-narrowing conversions from floating point types to integral types should be ignored.

Definition at line 356 of file SemaOverload.cpp.

References clang::Type::getAs(), clang::APValue::getFloat(), clang::ASTContext::getFloatingTypeOrder(), clang::ASTContext::getFloatTypeSemantics(), clang::ASTContext::getIntWidth(), clang::ASTContext::getLangOpts(), getToType(), clang::ICK_Boolean_Conversion, clang::ICK_Complex_Real, clang::ICK_Floating_Conversion, clang::ICK_Floating_Integral, clang::ICK_Floating_Promotion, clang::ICK_Integral_Conversion, IgnoreNarrowingConversion(), clang::Initializer, clang::Type::isComplexType(), clang::APValue::isFloat(), clang::Type::isIntegralOrUnscopedEnumerationType(), clang::Type::isIntegralType(), clang::Type::isRealFloatingType(), clang::Type::isSignedIntegerOrEnumerationType(), clang::NK_Constant_Narrowing, clang::NK_Dependent_Narrowing, clang::NK_Not_Narrowing, clang::NK_Type_Narrowing, clang::NK_Variable_Narrowing, clang::Result, Second, and clang::Expr::EvalResult::Val.

Referenced by BuildConvertedConstantExpression(), CheckC23ConstexprInitConversion(), checkThreeWayNarrowingConversion(), and DiagnoseNarrowingInInitList().

◆ getRank() ◆ getToType()

Definition at line 398 of file Overload.h.

References clang::QualType::getFromOpaquePtr(), and ToTypePtrs.

Referenced by CheckConvertedConstantConversions(), CompareDerivedToBaseConversions(), CompareQualificationConversions(), CompareStandardConversionSequences(), compareStandardConversionSubsets(), getFixedEnumPromtion(), getNarrowingKind(), clang::InitializationSequence::InitializeFrom(), isPointerConversionToBool(), isPointerConversionToVoidPointer(), tryAtomicConversion(), TryListInitialization(), and TryRefInitWithConversionFunction().

◆ isIdentityConversion() bool clang::StandardConversionSequence::isIdentityConversion ( ) const inline ◆ isPointerConversionToBool() bool StandardConversionSequence::isPointerConversionToBool ( ) const ◆ isPointerConversionToVoidPointer() bool StandardConversionSequence::isPointerConversionToVoidPointer ( ASTContextContext ) const

isPointerConversionToVoidPointer - Determines whether this conversion is a conversion of a pointer to a void pointer.

This is used as part of the ranking of standard conversion sequences (C++ 13.3.3.2p4).

Definition at line 293 of file SemaOverload.cpp.

References First, clang::ASTContext::getArrayDecayedType(), clang::Type::getAs(), getFromType(), clang::Type::getPointeeType(), getToType(), clang::ICK_Array_To_Pointer, clang::ICK_Pointer_Conversion, clang::Type::isAnyPointerType(), clang::Type::isVoidType(), and Second.

Referenced by CompareStandardConversionSequences().

◆ setAllToTypes() void clang::StandardConversionSequence::setAllToTypes ( QualType  T ) inline ◆ setAsIdentityConversion() void StandardConversionSequence::setAsIdentityConversion ( )

StandardConversionSequence - Set the standard conversion sequence to the identity conversion.

Definition at line 235 of file SemaOverload.cpp.

References BindsImplicitObjectArgumentWithoutRefQualifier, BindsToFunctionLvalue, BindsToRvalue, CopyConstructor, DeprecatedStringLiteralToCharPtr, Dimension, DirectBinding, First, clang::ICK_Identity, IsLvalueReference, ObjCLifetimeConversionBinding, QualificationIncludesObjCLifetime, ReferenceBinding, Second, and Third.

Referenced by clang::Sema::AddConversionCandidate(), checkThreeWayNarrowingConversion(), clang::ImplicitConversionSequence::getNullptrToBool(), clang::ImplicitConversionSequence::ImplicitConversionSequence(), clang::InitializationSequence::InitializeFrom(), IsInitializerListConstructorConversion(), IsStandardConversion(), IsUserDefinedConversion(), clang::ImplicitConversionSequence::setAsIdentityConversion(), TryImplicitConversion(), TryListInitialization(), tryObjCWritebackConversion(), TryObjectArgumentInitialization(), and TryUserDefinedConversion().

◆ setFromType() void clang::StandardConversionSequence::setFromType ( QualType  T ) inline

Definition at line 381 of file Overload.h.

References FromTypePtr, and clang::T.

Referenced by clang::Sema::AddConversionCandidate(), clang::ImplicitConversionSequence::getNullptrToBool(), IsInitializerListConstructorConversion(), IsStandardConversion(), IsUserDefinedConversion(), clang::ImplicitConversionSequence::setAsIdentityConversion(), TryImplicitConversion(), TryListInitialization(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryUserDefinedConversion().

◆ setToType() ◆ BindsImplicitObjectArgumentWithoutRefQualifier unsigned clang::StandardConversionSequence::BindsImplicitObjectArgumentWithoutRefQualifier ◆ BindsToFunctionLvalue unsigned clang::StandardConversionSequence::BindsToFunctionLvalue ◆ BindsToRvalue unsigned clang::StandardConversionSequence::BindsToRvalue ◆ CopyConstructor ◆ DeprecatedStringLiteralToCharPtr unsigned clang::StandardConversionSequence::DeprecatedStringLiteralToCharPtr ◆ Dimension ◆ DirectBinding unsigned clang::StandardConversionSequence::DirectBinding ◆ First

First – The first conversion can be an lvalue-to-rvalue conversion, array-to-pointer conversion, or function-to-pointer conversion.

Definition at line 297 of file Overload.h.

Referenced by clang::Sema::AddConversionCandidate(), CompareDerivedToBaseConversions(), CompareQualificationConversions(), CompareStandardConversionSequences(), dump(), clang::UserDefinedConversionSequence::dump(), clang::ImplicitConversionSequence::getNullptrToBool(), getRank(), clang::InitializationSequence::InitializeFrom(), isPointerConversionToBool(), isPointerConversionToVoidPointer(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), setAsIdentityConversion(), TryListInitialization(), tryObjCWritebackConversion(), and TryReferenceInit().

◆ FoundCopyConstructor DeclAccessPair clang::StandardConversionSequence::FoundCopyConstructor ◆ FromTypePtr void* clang::StandardConversionSequence::FromTypePtr ◆ IncompatibleObjC unsigned clang::StandardConversionSequence::IncompatibleObjC ◆ IsLvalueReference unsigned clang::StandardConversionSequence::IsLvalueReference ◆ ObjCLifetimeConversionBinding unsigned clang::StandardConversionSequence::ObjCLifetimeConversionBinding ◆ QualificationIncludesObjCLifetime unsigned clang::StandardConversionSequence::QualificationIncludesObjCLifetime ◆ ReferenceBinding unsigned clang::StandardConversionSequence::ReferenceBinding ◆ Second

Second - The second conversion can be an integral promotion, floating point promotion, integral conversion, floating point conversion, floating-integral conversion, pointer conversion, pointer-to-member conversion, or boolean conversion.

Definition at line 303 of file Overload.h.

Referenced by clang::Sema::AddConversionCandidate(), CheckConvertedConstantConversions(), checkThreeWayNarrowingConversion(), CompareDerivedToBaseConversions(), CompareQualificationConversions(), CompareStandardConversionSequences(), compareStandardConversionSubsets(), dropPointerConversion(), dump(), clang::UserDefinedConversionSequence::dump(), getFixedEnumPromtion(), getNarrowingKind(), clang::ImplicitConversionSequence::getNullptrToBool(), getRank(), clang::InitializationSequence::InitializeFrom(), isIdentityConversion(), isPointerConversionToVoidPointer(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::SelectBestMethod(), setAsIdentityConversion(), tryAtomicConversion(), TryImplicitConversion(), TryListInitialization(), TryObjectArgumentInitialization(), TryReferenceInit(), and TryUserDefinedConversion().

◆ Third

Third - The third conversion can be a qualification conversion or a function conversion.

Definition at line 312 of file Overload.h.

Referenced by CompareQualificationConversions(), compareStandardConversionSubsets(), dropPointerConversion(), dump(), clang::UserDefinedConversionSequence::dump(), getRank(), isIdentityConversion(), IsStandardConversion(), clang::Sema::PerformImplicitConversion(), setAsIdentityConversion(), tryAtomicConversion(), and TryReferenceInit().

◆ ToTypePtrs void* clang::StandardConversionSequence::ToTypePtrs[3]

The documentation for this class was generated from the following files:


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