Files
fennec/planning/CPP_LANGUAGE.md
Medusa Slockbower 6d58105734 - Switched back to custom window management, taking another stab
- Refactored lang yet again, `fennec/lang` is now C++ language. `fennec/string` `fennec/filesystem` and `fennec/format` are now independent.
2025-12-04 01:04:36 -05:00

9.6 KiB
Raw Blame History

C++ Language Library (lang)

Table of Contents

Introduction

This library contains headers and classes related to the C++ language. The contents of this library include the Language Support, Diagnostics, and Metaprogramming libraries of the C++ Standard Library and Template Library.

See:

Implementation

Diagnostics

Symbol Implemented Passed
assert
assertf
assertd

Utility

Symbol Implemented Passed
numeric_limits
initializer_list

Primary Types

Symbol Implemented Passed
is_void
is_null_pointer
is_integral
is_floating_point
is_array 🚧
is_enum
is_union
is_class
is_function
is_pointer
is_lvalue_reference
is_rvalue_reference
is_member_object_pointer
is_member_function_pointer

Composite Types

Symbol Implemented Passed
is_fundamental
is_arithmetic
is_scalar
is_object
is_compound
is_reference
is_member_pointer

Type Properties

Symbol Implemented Passed
is_const
is_volatile
is_trivially_copyable
is_standard_layout
has_unique_object_representations
is_empty
is_polymorphic
is_abstract
is_final
is_aggregate
is_implicit_lifetime
is_signed
is_unsigned
is_bounded_array
is_unbounded_array
is_scoped_enum

Supported Operations

Symbol Implemented Passed
is_constructible
is_trivially_constructible
is_nothrow_constructible
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
is_destructible
is_trivially_destructible
is_nothrow_destructible
has_virtual_destructor
is_swappable
is_swappable_with
is_nothrow_swappable
is_nothrow_swappable_with
reference_constructs_from_temporary
reference_converts_from_temporary

Property Queries

Symbol Implemented Passed
alignment_of
rank
extent

Type Relationships

Symbol Implemented Passed
is_same
is_base_of
is_virtual_base_of
is_convertible
is_nothrow_convertible
is_layout_compatible
is_pointer_interconvertible_base_of
is_invocable
is_invocable_r
is_nothrow_invocable
is_nothrow_invocable_r

Type Transformations

Symbol Implemented Passed
add_const
add_volatile
add_cv
remove_const
remove_volatile
remove_cv
add_lvalue_reference
add_rvalue_reference
remove_reference
add_pointer
remove_pointer
make_signed
make_unsigned
remove_extent
remove_all_extents

Other Transformations

Symbol Implemented Passed
aligned_storage
aligned_union
aligned_union
decay 🚧 🚧
remove_cvref
enable_if
conditional
common_type
common_reference
basic_common_reference
underlying_type
result_of
invoke_result
void_t

Logical Operations

Symbol Implemented Passed
conjunction
disjunction
negation

Sequences

Symbol Implemented Passed
const_sequence
const_integer_sequence (std::integer_sequence)
make_integer_sequence
const_index_sequence (std::index_sequence)
make_index_sequence
concat_sequence