llvm::ImutProfileInfo

Profile traits that hash values into a FoldingSetNodeID.

Synopsis

Declared in <llvm/ADT/ImmutableSet.h>

template<typename T>
struct ImutProfileInfo;

Description

The default behavior is to invoke the profile method of an object. Specializations for primitive integers and generic handling of pointers follow below.

Type Aliases

NameDescription
value_type The type of a value when profiling elements for folding-set hashing.
value_type_ref A reference to a value when profiling elements for folding-set hashing.

Static Member Functions

NameDescription
Profile Adds profile data for X to ID using T's FoldingSetTrait.

Specializations

NameDescription
ImutProfileInfo<bool> Profile traits for booleans.
ImutProfileInfo<char> Profile traits for char values.
ImutProfileInfo<int> Profile traits for signed values.
ImutProfileInfo<long> Profile traits for long values.
ImutProfileInfo<long long> Profile traits for long long values.
ImutProfileInfo<short> Profile traits for short values.
ImutProfileInfo<unsigned char> Profile traits for unsigned char values.
ImutProfileInfo<unsigned int> Profile traits for unsigned values.
ImutProfileInfo<unsigned long> Profile traits for unsigned long values.
ImutProfileInfo<unsigned long long> Profile traits for unsigned long long values.
ImutProfileInfo<unsigned short> Profile traits for unsigned short values.
ImutProfileInfo<T*> Generic profile trait for pointer types. We treat pointers as references to unique objects.

Derived Classes

NameDescription
ImutContainerInfo<T*> Specialization for pointer values to treat pointers as references to unique objects. Pointers are thus compared by their addresses.
ImutContainerInfo Comparison and key/data accessors for elements of immutable containers.