| ▼Naurora | |
| CAny | Type-erased class holding any value |
| CCopiedPtr | Copyable smart pointer template |
| CDispatchTraits | Helper base class to implement custom traits for dispatchers |
| CDoubleDispatcher | Class that is able to perform dynamic dispatch on multiple functions with two parameters |
| CException | Exception base class |
| CFunctionArity | Find out the number of parameters of a function |
| CFunctionCallException | Exception class for failed function calls |
| CFunctionParam | Find out the N-th parameter type of a function |
| CFunctionResult | Find out the return type of a function |
| CInplaceType | Tag to construct optional objects in-place |
| CInt | Simple integer wrapper, can be used for overload resolution |
| CNonCopyable | Non-copyable base class |
| CNoOp | Functor doing nothing |
| CNulloptType | Null literal for optional objects |
| COperatorDelete | Deleter that invokes the delete operator |
| COperatorNewCopy | Cloner that invokes the copy constructor and new operator |
| COptional | Represents optional values |
| CPairHasher | Hash object for std::pair |
| CPImpl | Fast PImpl idiom |
| CRttiDispatchTraits | Identifies a class using RTTI |
| CSingleDispatcher | Class that is able to perform dynamic dispatch on multiple functions with one parameter |
| CType | Simple type wrapper, can be used for overload resolution |
| CTypelist | Class template to store a list of types |
| CTypelistAt | Random access to type |
| CTypelistCat | Concatenate two typelists |
| CTypelistContains | Check if type is part of typelist |
| CTypelistFind | Find position of type in typelist |
| CVirtualClone | Cloner that invokes a member function clone() |