mal-packet-weaver
C++20 packet serialization/deserialization library.
Loading...
Searching...
No Matches
template.hpp File Reference

Defines template classes and functions used in the project. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mal_toolkit::_template_detail::function_traits< std::function< Ret(Args...)> >
 Traits for extracting information from a function type. More...
 
struct  mal_toolkit::_template_detail::index_of_function_arg< std::function< Ret(Args...)> >
 Helper for calculating the index of a type within a function's argument list. More...
 
struct  mal_toolkit::parameter_pack_info< Args >
 Provides information about a parameter pack. More...
 
struct  mal_toolkit::parameter_pack_info< Args >::type_at< index >
 
struct  mal_toolkit::return_type< R(Args...)>
 
struct  mal_toolkit::return_type< R(*)(Args...)>
 
struct  mal_toolkit::return_type< R(C::*)(Args...)>
 
struct  mal_toolkit::return_type< R(C::*)(Args...) & >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) && >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const & >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const && >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) volatile >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) volatile & >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) volatile && >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const volatile >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const volatile & >
 
struct  mal_toolkit::return_type< R(C::*)(Args...) const volatile && >
 

Namespaces

namespace  mal_toolkit
 Contains a collection of tools and utilities provided by the MAL Toolkit library.
 
namespace  mal_toolkit::_template_detail
 

Concepts

concept  mal_toolkit::EnumClassConcept
 Concept to check if a type is an enumeration class.
 

Typedefs

template<typename T >
using mal_toolkit::return_type_t = typename return_type<T>::type
 

Functions

template<typename A >
constexpr size_t mal_toolkit::_template_detail::CalculateSize ()
 Calculates the total size of multiple types in bytes.
 
template<typename A , typename B , typename... Args>
constexpr size_t mal_toolkit::_template_detail::CalculateSize ()
 Calculates the total size of multiple types in bytes.
 
template<typename T >
consteval size_t mal_toolkit::_template_detail::index_of_helper (std::size_t)
 Calculates the index of a type within a parameter pack.
 
template<typename T , typename U >
consteval size_t mal_toolkit::_template_detail::index_of_helper (std::size_t index)
 Calculates the index of a type within a parameter pack.
 
template<typename T , typename U , typename V , typename... Rest>
consteval size_t mal_toolkit::_template_detail::index_of_helper (std::size_t index)
 Calculates the index of a type within a parameter pack.
 
template<typename T , typename... Types>
consteval size_t mal_toolkit::index_of_type ()
 Function to find the index of a type in a parameter pack.
 
template<typename T , typename Func >
consteval std::size_t mal_toolkit::index_of_function_arg (Func const &func={})
 Function to find the index of a type within a function's argument list.
 
template<auto begin, auto end, auto inc, class F >
constexpr void mal_toolkit::constexpr_for (F &&f)
 A constexpr loop for compile-time iteration.
 
template<auto begin, auto end, auto inc, class F >
constexpr void mal_toolkit::constexpr_for_break (F &&f)
 
template<class iterator , class F >
constexpr bool mal_toolkit::for_each_true (iterator begin, iterator const &end, F &&f)
 Applies a function to each element in a range and returns true if all return true.
 
template<EnumClassConcept Enumeration>
constexpr auto mal_toolkit::as_integer (Enumeration const value) -> typename std::underlying_type< Enumeration >::type
 Converts an enumeration class value to its underlying integer value.
 

Detailed Description

Defines template classes and functions used in the project.

Definition in file template.hpp.