|
| struct | Conditioned |
| | A type wrapper to conditionally serialize a type. More...
|
| |
| struct | CustomType |
| |
| struct | DiffType |
| | Just a simple type wrapper that will store with T1 and serialize as T2 (can be used for Enum/VarInt for example) More...
|
| |
| struct | GetClassFromConditionPtr |
| |
| struct | GetClassFromConditionPtr< bool(C::*)() const > |
| |
| class | PluginLoader |
| |
| class | RecursiveWrapper |
| | Template magic to have a full type instead of an incomplete one as required for example by std::variant. More...
|
| |
| struct | SerializedType |
| |
| struct | SerializedType< Conditioned< T, F, false > > |
| |
| struct | SerializedType< Conditioned< T, F, true > > |
| |
| struct | SerializedType< CustomType< T, R, W, S > > |
| |
| struct | SerializedType< DiffType< T1, T2 > > |
| |
| struct | SerializedType< NBT::UnnamedValue > |
| |
| struct | SerializedType< std::array< T, N > > |
| |
| struct | SerializedType< std::map< K, V > > |
| |
| struct | SerializedType< std::optional< T > > |
| |
| struct | SerializedType< std::pair< T1, T2 > > |
| |
| struct | SerializedType< std::vector< T > > |
| |
| struct | SerializedType< VarType< T > > |
| |
| struct | SerializedType< Vector< T, U > > |
| |
| struct | SerializedType< Vector< T, void, 0 > > |
| |
| struct | SerializedType< Vector< T, void, N > > |
| |
| struct | Vector |
| |
|
| template<typename T > |
| T | ChangeEndianness (const T &in) |
| |
| constexpr size_t | GetSnakeCaseSize (std::string_view str) |
| | Get the size of a string_view once converted to snake_case.
|
| |
| template<size_t N> |
| constexpr std::array< char, N > | ToSnakeCase (std::string_view str) |
| | Get a snake_case char array from a string_view.
|
| |
| template<size_t N> |
| constexpr std::string_view | ToStringView (const std::array< char, N > &a) |
| | Convert a std::array of char to string_view.
|
| |
| template<std::size_t... indices, class LoopBody > |
| void | loop_impl (std::index_sequence< indices... >, LoopBody &&loop_body) |
| |
| template<std::size_t N, class LoopBody > |
| void | loop (LoopBody &&loop_body) |
| |
| template<typename F > |
| F | GetKnownProcAddressImpl (void *hmod, const char *module_name, const char *name, F) |
| |
|
| template<size_t N, typename T , template< size_t, typename > typename U, typename = void> |
| static constexpr size_t | field_index = 0 |
| | Default case, see field_index specialization for implementation details.
|
| |
| template<typename T , typename Tuple > |
| constexpr bool | tuple_contains_type = false |
| |
| template<typename T , typename Tuple > |
| constexpr int | get_tuple_index = 0 |
| |
| template<typename T > |
| constexpr bool | IsArray = false |
| |
| template<typename T > |
| constexpr bool | IsVector = false |
| |
| template<typename T > |
| constexpr bool | IsGenericVector = false |
| |
| template<typename T , typename U , size_t N> |
| constexpr bool | IsGenericVector< Vector< T, U, N > > = true |
| |
| template<typename T > |
| constexpr bool | IsMap = false |
| |
| template<typename T > |
| constexpr bool | IsVarType = false |
| |
| template<typename T > |
| constexpr bool | IsVarType< VarType< T > > = true |
| |
| template<typename T > |
| constexpr bool | IsOptional = false |
| |
| template<typename T > |
| constexpr bool | IsPair = false |
| |
| template<typename T > |
| constexpr bool | IsBitset = false |
| |
| template<typename T > |
| constexpr bool | IsConditioned = false |
| |
| template<typename T , auto C, bool b> |
| constexpr bool | IsConditioned< Conditioned< T, C, b > > = true |
| |
| template<typename T > |
| constexpr bool | IsCustomType = false |
| |
| template<typename T , auto R, auto W, auto S> |
| constexpr bool | IsCustomType< CustomType< T, R, W, S > > = true |
| |
| template<typename T > |
| constexpr bool | IsSharedPtr = false |
| |
| template<typename T > |
| constexpr bool | dependant_false = false |
| | To be used in constexpr else to fail compilation in a C++ compliant way.
|
| |
| constexpr std::string_view | plugins_folder = "protocolcraft_plugins" |
| | Folder in which the protocolCraft plugins will be searched for.
|
| |
| PluginObject *(* | GetPluginObject )(const char *identifier)=0 |
| |
| void(* | DestroyPluginObject )(PluginObject *object)=0 |
| |
template<size_t N, typename T , template< size_t, typename > typename U, typename = void>
| constexpr size_t ProtocolCraft::Internal::field_index = 0 |
|
staticconstexpr |
Default case, see field_index specialization for implementation details.
Definition at line 33 of file Templates.hpp.