cxxomfort  rel.20210622
Simple backports for C++ - http://ryan.gulix.cl/fossil.cgi/cxxomfort/
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 Callocator< T >STL class
 Carray< T >STL class
 Carray< T, N >C++11 array class
 Carray< T, N >
 Carray< typename Engine::result_type, K >
 Carray_ref< T, IdxType >An object representing a reference or slice of a contiguous area of memory of type T
 Carray_ref< Ch const >
 Cauto_ptr< T >STL class
 Cbasic_cstring_view< Ch, ChT >string - like wrapper for a NUL-terminated C-style string
 Cbasic_string< Char >STL class
 Cbasic_string< char >
 Cbasic_string< wchar_t >
 Cbitset< Bits >STL class
 CbyteImplements the backport for std::byte
 Cchar16_tA character type with the same signedness and range as uint16_t
 Cchar32_tA character type with the same signedness and range as uint32_t
 CcomplexSTL class
 Cconditional< B, T, U >Metaprogramming helper that defines a type to be either T or U
 Clist< T >::const_iteratorSTL iterator class
 Cforward_list< T >::const_iteratorSTL iterator class
 Cmap< K, T >::const_iteratorSTL iterator class
 Cunordered_map< K, T >::const_iteratorSTL iterator class
 Cbasic_string< Char >::const_iteratorSTL iterator class
 Cmultimap< K, T >::const_iteratorSTL iterator class
 Cunordered_multimap< K, T >::const_iteratorSTL iterator class
 Cset< K >::const_iteratorSTL iterator class
 Cstring::const_iteratorSTL iterator class
 Cunordered_set< K >::const_iteratorSTL iterator class
 Cwstring::const_iteratorSTL iterator class
 Cmultiset< K >::const_iteratorSTL iterator class
 Cunordered_multiset< K >::const_iteratorSTL iterator class
 Cvector< T >::const_iteratorSTL iterator class
 Cdeque< T >::const_iteratorSTL iterator class
 Clist< T >::const_reverse_iteratorSTL iterator class
 Cforward_list< T >::const_reverse_iteratorSTL iterator class
 Cmap< K, T >::const_reverse_iteratorSTL iterator class
 Cunordered_map< K, T >::const_reverse_iteratorSTL iterator class
 Cmultimap< K, T >::const_reverse_iteratorSTL iterator class
 Cbasic_string< Char >::const_reverse_iteratorSTL iterator class
 Cunordered_multimap< K, T >::const_reverse_iteratorSTL iterator class
 Cset< K >::const_reverse_iteratorSTL iterator class
 Cstring::const_reverse_iteratorSTL iterator class
 Cunordered_set< K >::const_reverse_iteratorSTL iterator class
 Cmultiset< K >::const_reverse_iteratorSTL iterator class
 Cwstring::const_reverse_iteratorSTL iterator class
 Cunordered_multiset< K >::const_reverse_iteratorSTL iterator class
 Cvector< T >::const_reverse_iteratorSTL iterator class
 Cdeque< T >::const_reverse_iteratorSTL iterator class
 Cconstant_function< T >
 Ccount_l_0_t< U, u >Defines member value with the number of lefmost 0 s in u
 Cdecay< T >Given a type, applies the same transformations as the ones used in the language for implicit conversion at call site: array-to-pointer, function-to-pointer and loss of reference
 Cdecay< Functor >
 Cdefault_delete< T >
 Cdeque< T >STL class
 Cenable_if< B, T >Metaprogramming helper that defines a type only if a condition holds
 Cenum_sampleSample enum that can be used to figure out size and signedness of enums at compiletime
 Cequivalent_to< T, Ord >Function object that performs equivalence comparison: arguments are "equivalent" if they are not less or greater than each other. Or, alternatively, if neither is less than the other
 CerrcAliases a broken std::errc implementation (as a namespace rather than as a type) in MSVC 2010
 Cerror_categorySTL class
 Cerror_codeSTL class
 Cerror_conditionSTL class
 CexceptionSTL class
 Cforward_list< T >STL class
 Cfunction2tuple_t< FnSig >Convert from function signature type to tuple type.Given a function signature R(T1,T2,...), obtain a tuple of the form T<T1,T2,...>
 Cfunction_ref< Signature >A non-owning view of an object callable with a function signature.A function_ref is a non-owning view to a callable object or function pointer for a given signature
 Cin_place_index_t< I >Tag template definition for in-place construction of a type in a slot
 Cin_place_type_t< T >Tag template definition for in-place construction of a type
 Cinfo
 Cinteger_sequence< T, I >C++14 integer_sequence utility
 Cinteger_sequence< size_t, N >
 Cinteger_sequence< T, I..., N >
 Cintegral_constant< Integral, I >
 Cintegral_constant< bool, !(ratio_equal< R1, R2 >::value) >
 Cintegral_constant< bool, !is_fundamental< T >::value >
 Cintegral_constant< bool, !ratio_greater< R2, R1 >::value >
 Cintegral_constant< bool, !ratio_less< R1, R2 >::value >
 Cintegral_constant< bool, __has_nothrow_assign(T)>
 Cintegral_constant< bool, __has_nothrow_constructor(T)>
 Cintegral_constant< bool, __has_nothrow_copy(T)>
 Cintegral_constant< bool, __has_trivial_constructor(T)>
 Cintegral_constant< bool, __has_trivial_copy(T)>
 Cintegral_constant< bool, __has_trivial_destructor(T)>
 Cintegral_constant< bool, B >
 Cintegral_constant< bool, cxxomfort::traits::is_scalar< T >::value||(cxxomfort::traits::is_class< T >::value &&is_trivially_default_constructible< T >::value &&is_trivially_copy_constructible< T >::value &&is_trivially_destructible< T >::value) >
 Cintegral_constant< bool, cxxomfort::traits::is_scalar< T >::value||cxxomfort::traits::is_reference< T >::value >
 Cintegral_constant< bool, detail::ratio_less_impl< R1, R2 >::value >
 Cintegral_constant< bool, false >
 Cintegral_constant< bool, is_arithmetic< T >::value||is_pointer< T >::value||is_member_pointer< T >::value||is_enum< T >::value||is_null_pointer< T >::value >
 Cintegral_constant< bool, is_arithmetic< T >::value||is_void< T >::value||is_null_pointer< T >::value >
 Cintegral_constant< bool, is_fundamental< T >::value &&!is_void< T >::value >
 Cintegral_constant< bool, is_integral< T >::value||is_floating_point< T >::value >
 Cintegral_constant< bool, is_iterator< T::const_iterator >::value >
 Cintegral_constant< bool, is_member_pointer< T >::value==true &&is_member_function_pointer< T >::value==false >
 Cintegral_constant< bool, is_scalar< T >::value >
 Cintegral_constant< bool, is_trivially_copy_assignable< T >::value||is_nothrow_copy_assignable< T >::value >
 Cintegral_constant< bool, is_trivially_copy_constructible< T >::value||is_nothrow_copy_constructible< T >::value >
 Cintegral_constant< bool, is_trivially_default_constructible< T >::value||is_nothrow_default_constructible< T >::value >
 Cintegral_constant< bool, R1::num==R2::num &&R1::den==R2::den >
 Cintegral_constant< bool, ratio_less< R2, R1 >::value >
 Cintegral_constant< bool, std::is_same< T, T0 >::value||is_any_of< T, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::value >
 Cintegral_constant< bool, std::is_scalar< T >::value &&!(std::is_same< T, void >::value) >
 Cintegral_constant< bool, true >
 Cintegral_constant< bool,(Tr1::value and Tr2::value and Tr3::value and Tr4::value and Tr5::value)>
 Cintegral_constant< bool,(Tr1::value or Tr2::value or Tr3::value or Tr4::value or Tr5::value)>
 Cintegral_constant< Int,((b< a) ? a -(((Int) a-(Int) b)>>1) :a+(((Int) b-(Int) a)>>1))>
 Cintegral_constant< int,(i > 0 ?+1 :i==0 ? 0 :-1)>
 Cintegral_constant< int,(i==0 ? 0 :+1)>
 Cintegral_constant< int,(u > 0 ?+1 :u==0 ? 0 :-1)>
 Cintegral_constant< intmax_t,(i< 0 ? -i :i)>
 Cintegral_constant< size_t, 0 >
 Cintegral_constant< size_t, extent< T, N-1 >::value >
 Cintegral_constant< size_t, N >
 Cintegral_constant< size_t, rank< T >::value+1 >
 Cintegral_constant< size_t, static_intlog_impl< N, Ba >::value >
 Cintegral_constant< size_t, tuple< T0, T1, T2, T3, T4 >::size >
 Cintegral_constant< std::size_t, r >
 Cintegral_constant< T, static_min_impl< T, t0, t1, t2, t3, t4 >::value >
 Cintegral_constant< T,(t< m) ? m :(M< t ? M :t) >
 Cintegral_constant< T,(u *T(static_sign< T, u >::value))>
 Cintegral_constant< uintmax_t, i >
 Cintegral_limits< T >An extension to numeric_limits that deals specifically with integer-like types
 Cios_baseSTL class
 Cis_contiguous_access_iterator< Iterator, Tag >Tags an iterator as a contiguous access type iterator
 Cis_indexable_like_array< T >Type identification trait for types that are indexable via an array-like operator[]
 Cis_iterator< T >Type identification trait for iterator types as defined by the <iterator> interface
 Cis_sequence< S >Type identification trait for sequence-like types:
 Clist< T >::iteratorSTL iterator class
 Cforward_list< T >::iteratorSTL iterator class
 Cmultimap< K, T >::iteratorSTL iterator class
 Cunordered_map< K, T >::iteratorSTL iterator class
 Cunordered_set< K >::iteratorSTL iterator class
 Cmap< K, T >::iteratorSTL iterator class
 Cunordered_multimap< K, T >::iteratorSTL iterator class
 Cset< K >::iteratorSTL iterator class
 Cwstring::iteratorSTL iterator class
 Cunordered_multiset< K >::iteratorSTL iterator class
 Cstring::iteratorSTL iterator class
 Cvector< T >::iteratorSTL iterator class
 Cbasic_string< Char >::iteratorSTL iterator class
 Cdeque< T >::iteratorSTL iterator class
 Cmultiset< K >::iteratorSTL iterator class
 Cleftmost_1< U, u >Defines member value with the position of the leftmost 1 bit in u
 Clist< T >STL class
 Cmake_index_sequence< T, N >
 Cmake_integer_sequence< T, N >
 Cmake_void< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >Metaprogramming helper that exposes void as a type, for transformations
 Cmalloc_deleterDeleter operator that uses free() for malloc-reserved blocks
 Cmap< K, T >STL class
 Cminus_itNamed functor that wraps operator-= for types <A,B>
 CMMIX_randMMIX: LCG specification as recommended by Donald Knuth in "<em>The Art of Computer Programming – Seminumerical Algorithms</em>"
 Cmultimap< K, T >STL class
 Cmultiset< K >STL class
 Cnoop_tNoop function
 CnoopT_t< T >Generic no-op functor with return type T
 Cobserver_ptr< W >Observer_ptr - the world's dumbest smart pointer : <memory>
 COpaqueNative< Ty, Tag >Wraps and tags a native C type as an opaque type
 Coutp< T >Denotes a reference used as an output argument to a function
 Cpiecewise_construct_tTag indicator for piecewise construction in pair
 Cplus_itNamed functor that wraps operator+= for types <A,B>
 Cpointer_traits< Ptr >API to refer to properties of pointer types
 Cpointer_traitsBackport of C++11's pointer_traits API (using cxxomfort::pointer_traits )
 Cpredecrement< T >Functoid that wraps –t for a given T
 Cpredecrement< void >Heterogeneous (deduced) wrapper version of predecrement
 Cpreincrement< T >Functoid that wraps ++t for a given T
 Cpreincrement< void >Heterogeneous (deduced) wrapper for preincrement
 Cprio< I >Priority tag struct, for ordering of function specializations
 Cpriority_queue< T >STL class
 Cqueue< T >STL class
 Creference_wrapper< T >Std::reference_wrapper<T> implementation
 Cremove_const< T >Remove_const
 Cremove_cv< T >Remove_cv
 Cremove_volatile< T >Remove_volatile
 Cunordered_set< K >::reverse_iteratorSTL iterator class
 Cunordered_map< K, T >::reverse_iteratorSTL iterator class
 Clist< T >::reverse_iteratorSTL iterator class
 Cwstring::reverse_iteratorSTL iterator class
 Cmultiset< K >::reverse_iteratorSTL iterator class
 Cmultimap< K, T >::reverse_iteratorSTL iterator class
 Cdeque< T >::reverse_iteratorSTL iterator class
 Cmap< K, T >::reverse_iteratorSTL iterator class
 Cunordered_multimap< K, T >::reverse_iteratorSTL iterator class
 Cbasic_string< Char >::reverse_iteratorSTL iterator class
 Cforward_list< T >::reverse_iteratorSTL iterator class
 Cstring::reverse_iteratorSTL iterator class
 Cset< K >::reverse_iteratorSTL iterator class
 Cunordered_multiset< K >::reverse_iteratorSTL iterator class
 Cvector< T >::reverse_iteratorSTL iterator class
 CrvoidRegular void This is basically a "null type": it can only be default-constructed and copy-constructed, it does not hold a value, and it can be returned from functions
 Crvref< T >Rvalue-reference selector
 Cset< K >STL class
 Cshuffle_order_engine< Engine, K >Forwarder for std::shuffle_order_engine
 Cshuffle_order_engine< Engine, K >An adapter that caches and returns results from a generator in a random-ish order.
 Csmart_ptr< T >STL class
 Csplitmix64Pseudo-RNG generator
 Cstack< T >STL class
 Cstatic_minmax2< T, t0, t1 >Defines the member values Tmin , Tmax with the minimum or maximum value between t0 and t1
 Csubtract_with_carry_engine< II, _w, _s, _r >
 Csystem_errorSTL class
 CthreadSTL class
 CtimespecStruct timespec, from POSIX / C++17
 Ctm_dateA storage-only class to store the date component of a struct std::tm
 Ctm_timeA storage-only class to store the time component of a struct std::tm
 Cto_signed_t< T, If >Provides the equivalent signed integral type to an integral type T
 Ctuple< T0, T1, T2, T3, T4 >Std::tuple<T...> implementation
 Ctuple2function_t< Ret, Tuple >Convert from tuple type to function signature.Given a tuple of the form T<T1,T2,...>, obtain a function signature Ret(T1,T2,...)
 Ctype_identity< T >
 Ctype_index
 Cuniform_int_distribution< II >
 Cuniform_real_distribution< Real >
 Cunique_ptr< T >STL class
 Cunique_ptr< T, D >Unique_ptr: a scoped, movable smart pointer. Emulation of the unique_ptr implementation in C++11 for C++03 compilers. Original backport by Howard Hinnant
 Cunordered_map< K, T >STL class
 Cunordered_multimap< K, T >STL class
 Cunordered_multiset< K >STL class
 Cunordered_set< K >STL class
 Cvalarray< T >STL class
 Cvalue >
 Cvector< T >STL class
 Cvector< Ty >
 Cvoid_tGeneralized void type
 Cweak_ptr< T >STL class