LLVM: llvm::TrailingObjects< BaseTy, TrailingTys > Class Template Reference (original) (raw)
See the file comment for details on the usage of the TrailingObjects type. More...
#include "[llvm/Support/TrailingObjects.h](TrailingObjects%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | FirstTrailingType |
| Public Member Functions | |
|---|---|
| template<typename T> | |
| const T * | getTrailingObjects () const |
| Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). | |
| template<typename T> | |
| T * | getTrailingObjects () |
| Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template). | |
| const FirstTrailingType * | getTrailingObjects () const |
| FirstTrailingType * | getTrailingObjects () |
| template<typename T> | |
| MutableArrayRef< T > | getTrailingObjects (size_t N) |
| template<typename T> | |
| ArrayRef< T > | getTrailingObjects (size_t N) const |
| MutableArrayRef< FirstTrailingType > | getTrailingObjects (size_t N) |
| ArrayRef< FirstTrailingType > | getTrailingObjects (size_t N) const |
| template<typename T> | |
| const T * | getTrailingObjectsNonStrict () const |
| template<typename T> | |
| T * | getTrailingObjectsNonStrict () |
| template<typename T> | |
| MutableArrayRef< T > | getTrailingObjectsNonStrict (size_t N) |
| template<typename T> | |
| ArrayRef< T > | getTrailingObjectsNonStrict (size_t N) const |
| TrailingObjects ()=default | |
| TrailingObjects (const TrailingObjects &)=delete | |
| TrailingObjects (TrailingObjects &&)=delete | |
| TrailingObjects & | operator= (const TrailingObjects &)=delete |
| TrailingObjects & | operator= (TrailingObjects &&)=delete |
| Static Public Member Functions | |
|---|---|
| template<typename... Tys> | |
| static constexpr std::enable_if_t< std::is_same_v< Foo< TrailingTys... >, Foo< Tys... > >, size_t > | additionalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts) |
| 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). | |
| template<typename... Tys> | |
| static constexpr std::enable_if_t< std::is_same_v< Foo< TrailingTys... >, Foo< Tys... > >, size_t > | totalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts) |
| Returns the total size of an object if it were allocated with the given trailing object counts. |
| Friends | |
|---|---|
| template<int A, typename B, typename T, typename P, typename... M> | |
| class | trailing_objects_internal::TrailingObjectsImpl |
template<typename BaseTy, typename... TrailingTys>
class llvm::TrailingObjects< BaseTy, TrailingTys >
See the file comment for details on the usage of the TrailingObjects type.
Definition at line 194 of file TrailingObjects.h.
◆ FirstTrailingType
template<typename BaseTy, typename... TrailingTys>
Initial value:
typename std::tuple_element_t<0, std::tuple<TrailingTys...>>
Definition at line 287 of file TrailingObjects.h.
template<typename BaseTy, typename... TrailingTys>
◆ TrailingObjects() [2/3]
template<typename BaseTy, typename... TrailingTys>
References TrailingObjects().
◆ TrailingObjects() [3/3]
template<typename BaseTy, typename... TrailingTys>
References TrailingObjects().
◆ additionalSizeToAlloc()
template<typename BaseTy, typename... TrailingTys>
template<typename... Tys>
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.
Definition at line 355 of file TrailingObjects.h.
◆ getTrailingObjects() [1/8]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
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.
Definition at line 281 of file TrailingObjects.h.
References T, and TrailingObjects().
◆ getTrailingObjects() [2/8]
template<typename BaseTy, typename... TrailingTys>
◆ getTrailingObjects() [3/8]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjects() [4/8]
template<typename BaseTy, typename... TrailingTys>
◆ getTrailingObjects() [5/8]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjects() [6/8]
template<typename BaseTy, typename... TrailingTys>
◆ getTrailingObjects() [7/8]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjects() [8/8]
template<typename BaseTy, typename... TrailingTys>
◆ getTrailingObjectsNonStrict() [1/4]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjectsNonStrict() [2/4]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjectsNonStrict() [3/4]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ getTrailingObjectsNonStrict() [4/4]
template<typename BaseTy, typename... TrailingTys>
template<typename T>
◆ operator=() [1/2]
template<typename BaseTy, typename... TrailingTys>
References TrailingObjects().
◆ operator=() [2/2]
template<typename BaseTy, typename... TrailingTys>
References TrailingObjects().
◆ totalSizeToAlloc()
template<typename BaseTy, typename... TrailingTys>
template<typename... Tys>
◆ trailing_objects_internal::TrailingObjectsImpl
template<typename BaseTy, typename... TrailingTys>
template<int A, typename B, typename T, typename P, typename... M>
The documentation for this class was generated from the following file:
- include/llvm/Support/TrailingObjects.h