ORIGINAL
|
Core type system foundations and concept definitions. More...
#include <type_traits>
#include <concepts>
#include <iosfwd>
#include <functional>
#include "config.h"
Go to the source code of this file.
Classes | |
class | original::none |
A placeholder type representing the absence of a value. More... | |
class | original::indexSequence< INTS > |
Compile-time sequence of unsigned integers. More... | |
class | original::makeIndexSequence |
Utility for generating index sequences. More... | |
struct | original::functionTraits< R(*)(Args...)> |
Specialization for function pointers. More... | |
struct | original::functionTraits< R(Args...)> |
Specialization for function types. More... | |
struct | original::functionTraits< C > |
Primary template for general callable types. More... | |
struct | original::functionTraits< R(C::*)(Args...) const > |
Specialization for const member function pointers. More... | |
struct | original::functionTraits< R(C::*)(Args...)> |
Specialization for non-const member function pointers. More... | |
Namespaces | |
namespace | original |
Main namespace for the project Original. | |
Concepts | |
concept | original::NotNull |
Ensures the parameter pack is not empty. | |
concept | original::EnumType |
Requires type to be an enumeration. | |
concept | original::EnumClassType |
Requires type to be a scoped enumeration. | |
concept | original::EqualityComparable |
Requires type to support equality comparison operators. | |
concept | original::WeaklyOrdered |
Requires type to support relational comparison operators. | |
concept | original::PartiallyComparable |
Requires type to support either equality or relational comparisons. | |
concept | original::TotallyComparable |
Requires type to support all comparison operators. | |
concept | original::ThreeWayComparable |
Requires type to support three-way comparison (spaceship operator). | |
concept | original::StronglyOrdered |
Requires type to support strong ordering via three-way comparison. | |
concept | original::Comparable |
concept | original::CmpTraits |
Requires type to implement the comparable interface with compareTo method. | |
concept | original::Printable |
Requires type to support output stream insertion. | |
concept | original::InputStreamable |
Requires type to support input stream extraction. | |
concept | original::Streamable |
Requires type to support both input and output stream operations. | |
concept | original::Hashable |
Concept checking for types that can be hashed. | |
concept | original::Equatable |
Requires type to support equality comparison for hashing. | |
concept | original::HashTraits |
Requires type to implement the hashable interface with toHash method. | |
concept | original::Callable |
Basic concept for any callable type. | |
concept | original::CallbackOf |
Validates callback signature compatibility. | |
concept | original::Predicate |
Constraint for boolean predicate callbacks. | |
concept | original::Compare |
Combines Comparable and CallbackOf for comparison callbacks. | |
concept | original::Condition |
Constraint for predicate callbacks. | |
concept | original::Operation |
Constraint for mutating operations. | |
concept | original::Transformer |
Constraint for transformation operations. | |
concept | original::SuperOf |
Checks inheritance or type equality. | |
concept | original::ExtendsOf |
Checks derivation or type identity using std::derived_from. | |
concept | original::ConvertibleTo |
Checks if type is convertible to another type. | |
concept | original::SameAs |
Checks if two types are exactly the same. | |
concept | original::Container |
Basic container concept. | |
concept | original::SequenceContainer |
Sequence container concept. | |
Typedefs | |
template<u_integer N> | |
using | original::makeReverseSequence = decltype(reverseIndexSequenceImpl(makeSequence< N >())) |
Creates a reversed index sequence. | |
Functions | |
template<u_integer NUM> | |
consteval auto | original::makeSequence () noexcept |
Creates an index sequence of given length. | |
template<u_integer... Indices> | |
consteval auto | original::reverseIndexSequenceImpl (indexSequence< Indices... > seq) |
Implementation detail for reversing an index sequence. | |
Core type system foundations and concept definitions.
This header defines fundamental type traits and concepts used for template metaprogramming and interface constraints throughout the library. These concepts enforce compile-time interface requirements and enable type-safe template programming.