Skip to content
Welcome to the new CppUtils documentation!

Namespace: CppUtils::Type

using CppUtils::Type::Hash = typedef std::uint64_t;
using CppUtils::Type::Token = typedef Hash;
using CppUtils::Type::LazyEvaluationType = typedef typename LazyEvaluation<Condition, Then, Arg, Else>::type;
using CppUtils::Type::CommonType = typedef typename Common<T...>::type;
using CppUtils::Type::In = typedef std::conditional_t<preferPassByRef<T>, const T&, T>;
using CppUtils::Type::NthType = typedef std::tuple_element_t<I, std::tuple<Types...> >;
using CppUtils::Type::FirstType = typedef NthType<0, Types...>;
using CppUtils::Type::UniqueType = typedef typename Unique<Container<>, Types...>::type;
using CppUtils::Type::UniqueVariant = typedef UniqueType<std::variant, std::decay_t<Types>...>;
using CppUtils::Type::UniqueTuple = typedef UniqueType<std::tuple, Types...>;
using CppUtils::Type::FilterType = typedef typename Filter<Trait, Container<>, Types...>::type;
constexpr auto mixHash(Hash hashValue) noexcept -> Hash;

template <class Target, class Mapping, class Source>
constexpr auto toStruct(const Source& source) -> Target;

template <class Target, class TargetMapping, class SourceMapping, class Source>
constexpr auto toStruct(const Source& source) -> Target;

template <class ReturnType, class Object, class... Args>
constexpr auto getNonConstMemberFunction(ReturnType(Object::*function)(Args...)) -> decltype(auto);

template <class ReturnType, class Object, class... Args>
constexpr auto getConstMemberFunction(ReturnType(Object::*function)(Args...) const) -> decltype(auto);

template <class Value>
auto deserialize(auto& source);

auto deserialize(auto& source, auto& value);

template <class T, class... Types>
consteval auto getPosition() -> std::size_t;

constexpr auto CppUtils::Type::isFunctionPointer;
constexpr Hash CppUtils::Type::HashOffset;
constexpr Hash CppUtils::Type::HashPrime;
constexpr struct CppUtils::Type::HashT CppUtils::Type::hash;
constexpr Detail::WriteCPO CppUtils::Type::write;
constexpr Detail::ReadCPO CppUtils::Type::read;
constexpr Detail::SerializeCPO CppUtils::Type::serialize;
constexpr auto CppUtils::Type::isSpecializationOfTypes;

isSpecializationOfTypes< IncompleteType< Args... >, IncompleteType >

Section titled “isSpecializationOfTypes< IncompleteType< Args... >, IncompleteType >”
constexpr auto CppUtils::Type::isSpecializationOfTypes< IncompleteType< Args... >, IncompleteType >;
constexpr auto CppUtils::Type::isSpecializationOfValues;

isSpecializationOfValues< IncompleteType< Args... >, IncompleteType >

Section titled “isSpecializationOfValues< IncompleteType< Args... >, IncompleteType >”
constexpr auto CppUtils::Type::isSpecializationOfValues< IncompleteType< Args... >, IncompleteType >;
constexpr auto CppUtils::Type::preferPassByRef;
constexpr auto CppUtils::Type::preferPassByValue;
constexpr bool CppUtils::Type::FalseValue;
constexpr bool CppUtils::Type::FalseType;