TrinityCore
Loading...
Searching...
No Matches
TypeListContainer< UnderlyingContainer, Types > Struct Template Reference

#include <TypeContainer.h>

Public Types

template<typename ObjectType >
using ValueType = typename UnderlyingContainer< ObjectType >::ValueType
 

Public Member Functions

template<typename ObjectType >
requires TypeExists<ObjectType>
bool Insert (ValueType< ObjectType > object)
 
template<typename ObjectType >
requires TypeExists<ObjectType>
bool Remove (ValueType< ObjectType > object)
 
template<typename ObjectType >
requires TypeExists<ObjectType>
std::size_t Size () const
 
template<typename ObjectType >
requires TypeExists<ObjectType> && requires { typename UnderlyingContainer<ObjectType>::KeyType; }
ValueType< ObjectType > Find (typename UnderlyingContainer< ObjectType >::KeyType const &key) const
 

Public Attributes

TypeListContainerStorage< UnderlyingContainer, Types... > Data
 

Static Public Attributes

template<typename ObjectType >
static constexpr bool TypeExists = Trinity::has_type_in_list_v<ObjectType, Types...>
 

Detailed Description

template<template< typename > typename UnderlyingContainer, typename... Types>
struct TypeListContainer< UnderlyingContainer, Types >

Definition at line 61 of file TypeContainer.h.

Member Typedef Documentation

◆ ValueType

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
using TypeListContainer< UnderlyingContainer, Types >::ValueType = typename UnderlyingContainer<ObjectType>::ValueType

Definition at line 69 of file TypeContainer.h.

Member Function Documentation

◆ Find()

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
requires TypeExists<ObjectType> && requires { typename UnderlyingContainer<ObjectType>::KeyType; }
ValueType< ObjectType > TypeListContainer< UnderlyingContainer, Types >::Find ( typename UnderlyingContainer< ObjectType >::KeyType const &  key) const
inline

Definition at line 90 of file TypeContainer.h.

+ Here is the caller graph for this function:

◆ Insert()

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
requires TypeExists<ObjectType>
bool TypeListContainer< UnderlyingContainer, Types >::Insert ( ValueType< ObjectType >  object)
inline

Definition at line 72 of file TypeContainer.h.

+ Here is the caller graph for this function:

◆ Remove()

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
requires TypeExists<ObjectType>
bool TypeListContainer< UnderlyingContainer, Types >::Remove ( ValueType< ObjectType >  object)
inline

Definition at line 78 of file TypeContainer.h.

+ Here is the caller graph for this function:

◆ Size()

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
requires TypeExists<ObjectType>
std::size_t TypeListContainer< UnderlyingContainer, Types >::Size ( ) const
inline

Definition at line 84 of file TypeContainer.h.

+ Here is the caller graph for this function:

Member Data Documentation

◆ Data

template<template< typename > typename UnderlyingContainer, typename... Types>
TypeListContainerStorage<UnderlyingContainer, Types...> TypeListContainer< UnderlyingContainer, Types >::Data

Definition at line 63 of file TypeContainer.h.

◆ TypeExists

template<template< typename > typename UnderlyingContainer, typename... Types>
template<typename ObjectType >
constexpr bool TypeListContainer< UnderlyingContainer, Types >::TypeExists = Trinity::has_type_in_list_v<ObjectType, Types...>
staticconstexpr

Definition at line 66 of file TypeContainer.h.


The documentation for this struct was generated from the following file: