jaulib v1.5.0
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
jau::req Namespace Reference

Requirement (concept) Definitions. More...

Concepts

concept  pointer
 Concept of type-trait std::is_pointer.
 
concept  standard_layout
 Concept of type-trait std::is_standard_layout.
 
concept  trivially_copyable
 Concept of type-trait std::is_trivially_copyable.
 
concept  boolean
 Concept of type-trait for bool type.
 
concept  arithmetic
 Concept of type-trait std::is_arithmetic.
 
concept  unsigned_arithmetic
 Concept of type-trait std::is_unsigned and std::is_arithmetic.
 
concept  signed_arithmetic
 Concept of type-trait std::is_signed and std::is_arithmetic.
 
concept  unsigned_integral
 Concept of type-trait std::is_unsigned and std::is_integral.
 
concept  signed_integral
 Concept of type-trait std::is_signed and std::is_integral.
 
concept  packed_integral
 Concept of type-trait std::is_integral and sizeof(T) == alignof(T) (packed)
 
concept  packed_floating_point
 Concept of type-trait std::is_floating_point and sizeof(T) == alignof(T) (packed)
 
concept  char_pointer
 A char*
 
concept  string_literal
 A string literal: char (&)[N], jau::StringLiteral.
 
concept  string_type
 A std::string.
 
concept  string_class
 A string class, i.e. std::string, std::string_view or jau::StringLiteral.
 
concept  string_alike
 Like a string:
 
concept  string_alike0
 
concept  stringifyable_std
 A convertible type to a string or a string itself.
 
concept  stringifyable_jau
 A convertible type to a string or a string itself.
 
concept  container
 C++ Named Requirement Container (partial)
 
concept  contiguous_container
 C++ Named Requirement ContiguousContainer (partial)
 

Typedefs

template<class T>
using base_pointer = std::add_pointer_t<underlying_pointer_type<T>>
 Returns base pointer type w/o constant'ness in pointer nor value.
 
template<class T>
using const2_pointer = std::add_const_t<std::add_pointer_t<std::add_const_t<underlying_pointer_type<T>>>>
 Returns all const pointer type w/ constant'ness in pointer and value.
 
template<class T>
using underlying_pointer_type = std::remove_const_t<std::remove_pointer_t<std::remove_cv_t<T>>>
 Returns underlying pointer type w/o constant'ness.
 

Functions

template<typename T>
requires container<T>
constexpr bool is_container ()
 Query whether type is a C++ Named Requirement Container (partial)
 
template<typename T>
requires (!container<T>)
constexpr bool is_container ()
 Query whether type is a C++ Named Requirement Container (partial)
 
template<typename T>
requires contiguous_container<T>
constexpr bool is_contiguous_container ()
 Query whether type is a C++ Named Requirement ContiguousContainer (partial)
 
template<typename T>
requires (!contiguous_container<T>)
constexpr bool is_contiguous_container ()
 Query whether type is a C++ Named Requirement ContiguousContainer (partial)
 

Detailed Description

Requirement (concept) Definitions.

Function Documentation

◆ is_container()

template<typename T>
requires (!container<T>)
bool jau::req::is_container ( )
constexpr

Query whether type is a C++ Named Requirement Container (partial)

Definition at line 190 of file type_concepts.hpp.

◆ is_contiguous_container()

template<typename T>
requires (!contiguous_container<T>)
bool jau::req::is_contiguous_container ( )
constexpr

Query whether type is a C++ Named Requirement ContiguousContainer (partial)

Definition at line 209 of file type_concepts.hpp.