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 <functional>
#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::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.
 

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.