#pragma once #include "CoreTypes.h" #include "Concepts/Same.h" #include "Concepts/Derived.h" #include "Concepts/BuiltinType.h" #include "Concepts/Convertible.h" #include "Concepts/Destructible.h" #include "Concepts/Constructible.h" //template concept CBooleanTestable; // Prerequisites: Forward //template concept CMovable; // Prerequisites: CAssignableFrom //template concept CCopyable; // Prerequisites: CAssignableFrom //template concept CSemiregular; // Prerequisites: CCopyable //template concept CRegular; // Prerequisites: CEqualityComparable //template concept CAssignableFrom; // Prerequisites: Forward //template concept CEqualityComparable; // Prerequisites: CBooleanTestable //template concept CEqualityComparableWith; // Prerequisites: CBooleanTestable //template concept CTotallyOrdered; // Prerequisites: CBooleanTestable //template concept CTotallyOrderedWith; // Prerequisites: CBooleanTestable //template concept CCommonWith; // Prerequisites: Declval //template concept CCommonReferenceWith; // Prerequisites: Declval //template concept CInvocable; // Prerequisites: Invoke, Forward //template concept CRegularInvocable; // Prerequisites: Invoke, Forward //template concept CPredicate; // Prerequisites: CBooleanTestable, CRegularInvocable //template concept CRelation; // Prerequisites: CPredicate //template concept CEquivalenceRelation // Prerequisites: CRelation //template concept CStrictWeakOrder // Prerequisites: CRelation