MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Concepts.h File Reference
#include <type_traits>
#include "CoreMinimal.h"

Go to the source code of this file.

Data Structures

struct  Mcro::Concepts::Detail::TExtractClassName< MemberType ClassType::* >
 

Namespaces

namespace  Mcro
 
namespace  Mcro::Concepts
 
namespace  Mcro::Concepts::Detail
 

Concepts

concept  Mcro::Concepts::CSameAs
 
concept  Mcro::Concepts::CSameAsDecayed
 
concept  Mcro::Concepts::CConvertibleTo
 
concept  Mcro::Concepts::CConvertibleToDecayed
 
concept  Mcro::Concepts::CAssignableFrom
 
concept  Mcro::Concepts::CAssignableFromDecayed
 
concept  Mcro::Concepts::CDerivedFrom
 
concept  Mcro::Concepts::CIntegral
 
concept  Mcro::Concepts::CSignedIntegral
 
concept  Mcro::Concepts::CUnsignedIntegral
 
concept  Mcro::Concepts::CFloatingPoint
 
concept  Mcro::Concepts::CScalar
 
concept  Mcro::Concepts::CBooleanTestable
 
concept  Mcro::Concepts::CPlainEnum
 
concept  Mcro::Concepts::CScopedEnum
 
concept  Mcro::Concepts::CEnum
 
concept  Mcro::Concepts::CCoreHalfEqualityComparable
 
concept  Mcro::Concepts::CWeaklyEqualityComparableWith
 
concept  Mcro::Concepts::CCoreEqualityComparable
 
concept  Mcro::Concepts::CHalfOrdered
 
concept  Mcro::Concepts::CPartiallyOrderedWith
 
concept  Mcro::Concepts::CTotallyOrdered
 
concept  Mcro::Concepts::CConstType
 
concept  Mcro::Concepts::CMutableType
 
concept  Mcro::Concepts::CDestructible
 
concept  Mcro::Concepts::CConstructibleFrom
 
concept  Mcro::Concepts::CDefaultInitializable
 
concept  Mcro::Concepts::CMoveConstructible
 
concept  Mcro::Concepts::CCopyConstructible
 
concept  Mcro::Concepts::CMovable
 
concept  Mcro::Concepts::CCopyable
 
concept  Mcro::Concepts::CSemiRegular
 
concept  Mcro::Concepts::CRegular
 
concept  Mcro::Concepts::CInvocable
 
concept  Mcro::Concepts::CPredicate
 
concept  Mcro::Concepts::CRelation
 
concept  Mcro::Concepts::CEquivalenceRelation
 
concept  Mcro::Concepts::CStrictWeakOrder
 
concept  Mcro::Concepts::CModels
 
concept  Mcro::Concepts::CSharedPtr
 
concept  Mcro::Concepts::CSharedRef
 
concept  Mcro::Concepts::CWeakPtr
 
concept  Mcro::Concepts::CSharedRefOrPtr
 
concept  Mcro::Concepts::CSharedOrWeak
 
concept  Mcro::Concepts::CSharedFromThis
 
concept  Mcro::Concepts::CUObject
 
concept  Mcro::Concepts::CInterface
 
concept  Mcro::Concepts::CInterfaceUClass
 
concept  Mcro::Concepts::CCharPtr
 
concept  Mcro::Concepts::CNonCharPtr
 
concept  Mcro::Concepts::CChar
 
concept  Mcro::Concepts::CNonChar
 
concept  Mcro::Concepts::CPointer
 
concept  Mcro::Concepts::CClass
 
concept  Mcro::Concepts::CUnion
 
concept  Mcro::Concepts::CPlainClass
 
concept  Mcro::Concepts::CMemberPointerOf
 
concept  Mcro::Concepts::CNonVoid
 
concept  Mcro::Concepts::CRefCounted
 
concept  Mcro::Concepts::CRange
 

Macros

#define MCRO_THIS_TYPE   decltype(Mcro::Concepts::DecayPtr(this))
 

Typedefs

template<typename MemberPointer >
using Mcro::Concepts::Detail::TExtractedClassName = typename TExtractClassName<std::decay_t<MemberPointer>>::Type
 

Functions

template<typename T >
Mcro::Concepts::DecayPtr (T *)
 

Detailed Description

Author
David Mórász
Date
2025

This header exists because STL headers in Android doesn't define STL concepts (other than same_as which is weird), despite the fact that in <concepts> the synopsis contains all of them (but only as a comment).

However, <type_traits> seems to be implemented properly so many concepts here will be just encapsulating equivalent type traits (like CConstType = std::is_const_v<T>). Using MSVC implementation as reference

Definition in file Concepts.h.

Macro Definition Documentation

◆ MCRO_THIS_TYPE

#define MCRO_THIS_TYPE   decltype(Mcro::Concepts::DecayPtr(this))

Definition at line 31 of file Concepts.h.