mirror of
https://github.com/github/codeql.git
synced 2026-01-22 19:02:59 +01:00
This PR separates the core cpp packs into `codeql/cpp-queries` and `codeql/cpp-all`. There are very few lines of code changed. Almost all changes are moving files around.
18 lines
672 B
Plaintext
18 lines
672 B
Plaintext
/** Provides classes for modeling pointer wrapper types and expressions. */
|
|
|
|
private import cpp
|
|
|
|
/** A class that wraps a pointer type. For example, `std::unique_ptr` and `std::shared_ptr`. */
|
|
abstract class PointerWrapper extends Class {
|
|
/**
|
|
* Gets a member function of this class that returns the wrapped pointer, if any.
|
|
*
|
|
* This includes both functions that return the wrapped pointer by value, and functions
|
|
* that return a reference to the pointed-to object.
|
|
*/
|
|
abstract MemberFunction getAnUnwrapperFunction();
|
|
|
|
/** Holds if the type of the data that is pointed to by this pointer wrapper is `const`. */
|
|
abstract predicate pointsToConst();
|
|
}
|