Module BuiltInOperations

Import path

semmle.code.cpp.exprs.BuiltInOperations

Imports

Classes

BuiltInChooseExpr

The __builtin_choose_expr type trait.

BuiltInNoOp

A Microsoft C/C++ __noop expression, which does nothing.

BuiltInOperation

A C/C++ builtin operation.

BuiltInOperationBuiltInAddressOf

A clang __builtin_addressof expression (can be used to implement C++’s std::addressof).

BuiltInOperationBuiltInConvertVector

A clang __builtin_convertvector expression.

BuiltInOperationBuiltInShuffleVector

A clang __builtin_shufflevector expression.

BuiltInOperationBuiltInTypes

A C++ __builtin_types expression (used by some implementations of the type_traits header).

BuiltInOperationHasAssign

A C++ __has_assign expression (used by some implementations of the type_traits header).

BuiltInOperationHasCopy

A C++ __has_copy expression (used by some implementations of the type_traits header).

BuiltInOperationHasFinalizer

The __has_finalizer type trait.

BuiltInOperationHasNoThrowAssign

A C++ __has_nothrow_assign expression (used by some implementations of the type_traits header).

BuiltInOperationHasNoThrowConstructor

A C++ __has_nothrow_constructor expression (used by some implementations of the type_traits header).

BuiltInOperationHasNoThrowCopy

A C++ __has_nothrow_copy expression (used by some implementations of the type_traits header).

BuiltInOperationHasNothrowMoveAssign

The __has_nothrow_move_assign type trait.

BuiltInOperationHasTrivialAssign

A C++ __has_trivial_assign expression (used by some implementations of the type_traits header).

BuiltInOperationHasTrivialConstructor

A C++ __has_trivial_constructor expression (used by some implementations of the type_traits header).

BuiltInOperationHasTrivialCopy

A C++ __has_trivial_copy expression (used by some implementations of the type_traits header).

BuiltInOperationHasTrivialDestructor

A C++ __has_trivial_destructor expression (used by some implementations of the type_traits header).

BuiltInOperationHasTrivialMoveAssign

The __has_trivial_move_assign type trait.

BuiltInOperationHasTrivialMoveConstructor

The __has_trivial_move_constructor type trait.

BuiltInOperationHasUserDestructor

A C++ __has_user_destructor expression (used by some implementations of the type_traits header).

BuiltInOperationHasVirtualDestructor

A C++ __has_virtual_destructor expression (used by some implementations of the type_traits header).

BuiltInOperationIsAbstract

A C++ __is_abstract expression (used by some implementations of the type_traits header).

BuiltInOperationIsBaseOf

A C++ __is_base_of expression (used by some implementations of the type_traits header).

BuiltInOperationIsClass

A C++ __is_class expression (used by some implementations of the type_traits header).

BuiltInOperationIsConstructible

The __is_constructible type trait.

BuiltInOperationIsConvertibleTo

A C++ __is_convertible_to expression (used by some implementations of the type_traits header).

BuiltInOperationIsDelegate

The __is_delegate type trait.

BuiltInOperationIsDestructible

The __is_destructible type trait.

BuiltInOperationIsEmpty

A C++ __is_empty expression (used by some implementations of the type_traits header).

BuiltInOperationIsEnum

A C++ __is_enum expression (used by some implementations of the type_traits header).

BuiltInOperationIsFinal

The __is_final type trait.

BuiltInOperationIsInterfaceClass

The __is_interface_class type trait.

BuiltInOperationIsLiteralType

The __is_literal_type type trait.

BuiltInOperationIsNothrowAssignable

The __is_nothrow_assignable type trait.

BuiltInOperationIsNothrowConstructible

The __is_nothrow_constructible type trait.

BuiltInOperationIsNothrowDestructible

The __is_nothrow_destructible type trait.

BuiltInOperationIsPod

A C++ __is_pod expression (used by some implementations of the type_traits header).

BuiltInOperationIsPolymorphic

A C++ __is_polymorphic expression (used by some implementations of the type_traits header).

BuiltInOperationIsRefArray

The __is_ref_array type trait.

BuiltInOperationIsRefClass

The __is_ref_class type trait.

BuiltInOperationIsSealed

The __is_sealed type trait.

BuiltInOperationIsSimpleValueClass

The __is_simple_value_class type trait.

BuiltInOperationIsStandardLayout

The __is_standard_layout type trait.

BuiltInOperationIsTriviallyAssignable

The __is_trivially_assignable type trait.

BuiltInOperationIsTriviallyConstructible

The __is_trivially_constructible type trait.

BuiltInOperationIsTriviallyCopyable

The __is_trivially_copyable type trait.

BuiltInOperationIsTriviallyDestructible

The __is_trivially_destructible type trait.

BuiltInOperationIsUnion

A C++ __is_union expression (used by some implementations of the type_traits header).

BuiltInOperationIsValueClass

The __is_value_class type trait.

BuiltInOperationOffsetOf

A C++ __offsetof expression (used by some implementations of offsetof in the presence of user-defined operator&).

BuiltInVarArg

A C/C++ __builtin_va_arg expression (used by some implementations of va_arg).

BuiltInVarArgCopy

A C/C++ __builtin_va_copy expression (used by some implementations of va_copy).

BuiltInVarArgsEnd

A C/C++ __builtin_va_end expression (used by some implementations of va_end).

BuiltInVarArgsStart

A C/C++ __builtin_va_start expression (used by some implementations of va_start).

VectorFillOperation

Fill operation on a GNU vector.