class TrailingObjects
Declaration
template <typename BaseTy, typename... TrailingTys>
class TrailingObjects { /* full declaration omitted */ };
Description
See the file comment for details on the usage of the TrailingObjects type.
Declared at: llvm/include/llvm/Support/TrailingObjects.h:229
Templates
- BaseTy
- TrailingTys
Method Overview
- public template <typename... Tys>static constexpr typename std::enable_if<std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type additionalSizeToAlloc(typename trailing_objects_internal::ExtractSecondType<TrailingTys, size_t>::type... Counts)
- public template <typename T>const T * getTrailingObjects() const
- public template <typename T>T * getTrailingObjects()
- public template <typename... Tys>static constexpr typename std::enable_if<std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type totalSizeToAlloc(typename trailing_objects_internal::ExtractSecondType<TrailingTys, size_t>::type... Counts)
Methods
¶template <typename... Tys>
static constexpr typename std::enable_if<
std::is_same<Foo<TrailingTys...>,
Foo<Tys...>>::value,
size_t>::type
additionalSizeToAlloc(
typename trailing_objects_internal::
ExtractSecondType<TrailingTys,
size_t>::type... Counts)
template <typename... Tys>
static constexpr typename std::enable_if<
std::is_same<Foo<TrailingTys...>,
Foo<Tys...>>::value,
size_t>::type
additionalSizeToAlloc(
typename trailing_objects_internal::
ExtractSecondType<TrailingTys,
size_t>::type... Counts)
Description
Returns the size of the trailing data, if an object were allocated with the given counts (The counts are in the same order as the template arguments). This does not include the size of the base object. The template arguments must be the same as those used in the class; they are supplied here redundantly only so that it's clear what the counts are counting in callers.
Declared at: llvm/include/llvm/Support/TrailingObjects.h:331
Templates
- Tys
Parameters
- typename trailing_objects_internal:: ExtractSecondType<TrailingTys, size_t>::type... Counts
¶template <typename T>
const T* getTrailingObjects() const
template <typename T>
const T* getTrailingObjects() const
Description
Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). The array may have zero or more elements in it.
Declared at: llvm/include/llvm/Support/TrailingObjects.h:302
Templates
- T
¶template <typename T>
T* getTrailingObjects()
template <typename T>
T* getTrailingObjects()
Description
Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). The array may have zero or more elements in it.
Declared at: llvm/include/llvm/Support/TrailingObjects.h:314
Templates
- T
¶template <typename... Tys>
static constexpr typename std::enable_if<
std::is_same<Foo<TrailingTys...>,
Foo<Tys...>>::value,
size_t>::type
totalSizeToAlloc(
typename trailing_objects_internal::
ExtractSecondType<TrailingTys,
size_t>::type... Counts)
template <typename... Tys>
static constexpr typename std::enable_if<
std::is_same<Foo<TrailingTys...>,
Foo<Tys...>>::value,
size_t>::type
totalSizeToAlloc(
typename trailing_objects_internal::
ExtractSecondType<TrailingTys,
size_t>::type... Counts)
Description
Returns the total size of an object if it were allocated with the given trailing object counts. This is the same as additionalSizeToAlloc, except it *does* include the size of the base object.
Declared at: llvm/include/llvm/Support/TrailingObjects.h:343
Templates
- Tys
Parameters
- typename trailing_objects_internal:: ExtractSecondType<TrailingTys, size_t>::type... Counts