1 #pragma once    // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi").     7 #include <c/stddef.hpp>                                 37     template< 
class Derived, 
class Value_type_param >
    42         { 
return static_cast<Derived&>( *
this ); }
    57             derived_self().advance();
    58             return derived_self();
    64             Derived original = derived_self();
    65             derived_self().advance();
    69         friend auto operator!=( 
const Derived& a, 
const Derived& b )
    71         { 
return not(a == b); }
 auto operator++(int) -> Derived
 
Some_type * P_
Creates a raw pointer type.
 
Item_and_index value_type
 
A drop-in replacement for bool without implicit conversion from/to types other than bool.
 
auto operator++() -> const Derived &
 
friend auto operator!=(const Derived &a, const Derived &b) -> Truth
 
const value_type & reference
 
Truth is a drop-in replacement for bool without implicit conversion from/to types other than bool.
 
CPPX_USE_STD(basic_string, basic_string_view, bitset, char_traits, size)
 
Simple type builders Type_, P_, R_, Raw_array_ and Raw_array_of_.
 
Signed_< size_t > Size
A Signed_ equivalent of size_t.
 
forward_iterator_tag iterator_category
 
Macros for generating more concise and clear using statements, primarily $use_cppx and $use_std,...
 
Signed Size and Index, plus unsigned equivalents Unsigned_size and Unsigned_index.