ORIGINAL
Loading...
Searching...
No Matches
Classes | Namespaces | Concepts | Typedefs | Functions
types.h File Reference

Core type system foundations and concept definitions. More...

#include <type_traits>
#include <concepts>
#include <iosfwd>
#include "config.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

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::Comparable
 Requires type to support all comparison operators.
 
concept  original::Printable
 Requires type to support output stream insertion.
 
concept  original::CallbackOf
 Validates callback signature compatibility.
 
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::SuperOf
 Checks inheritance or type equality.
 
concept  original::ExtendsOf
 Checks derivation or type identity using std::derived_from.
 

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.
 

Detailed Description

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.