MT Core (C++)
Core library for replacing C++ standard in project usage
|
▼Nmtcore | Core library for C++ with Zig-related functionality |
▼Nthread | Thread-related namespace The methods and classes provided by this class are thread-safe Classes and methods provided outside of this class are not thread-safe (with the exception of malloc_alloc) This requires linking mtcore_thread to your application |
RSelectOption | Checks if something qualifies as an option to a select statement Allows defining custom options and cases |
RCloseable | Checks if something is closeable (e.g |
RSender | Checks if messages can be sent to something (e.g |
RReceiver | Checks if messages can be received from something (e.g |
RSenderBlock | Checks if messages can be sent in a blocking manner |
RReceiverBlock | Checks if messages can be received in a blocking manner |
RSenderBefore | Checks if messages can be sent in a blocking manner with a timeout |
RReceiverBefore | Checks if messages can be received in a blocking manner with a timeout |
RSenderGrow | Checks if messages can be sent to something (e.g |
RSenderBlockGrow | Checks if messages can be sent to something (e.g |
RSenderBeforeGrow | Checks if messages can be sent to something (e.g |
RHasClosedError | Checks if an error type has a "Has Closed" error called CHANNEL_CLOSED |
RSenderReceiver | Checks if non-blocking sends and receives are supported |
RSenderReceiverBlock | Checks if blocking sends and receives are supported |
RSenderReceiverBefore | Checks if blocking with timeout sends and receives are supported |
RSenderReceiverGrow | Checks if non-blocking sends and receives are supported with allocation to grow |
RSenderReceiverBlockGrow | Checks if blocking sends and receives are supported with allocation to grow |
RSenderReceiverBeforeGrow | Checks if blocking with timeout sends and receives are supported with allocation to grow |
RChannelLike | Checks if something qualifies as a channel Channels can: |
RChannelLikeGrow | Checks if something qualifies as a growing channel Growing channels can: |
ROstreamable | The Ostreamable trait for types Something that implements this trait allows ostream operations |
RAddressable | The Addressable trait for types Something that implements this trait allows addressing items by index |
RMutableAddressable | The Addressable trait for types Something that implements this trait allows addressing items by index |
RIterator | The Addressable trait for types Something that implements this trait allows addressing items by index |
RInitable | |
RIterable | The Iterable trait for types Something that implements this trait can give an iterator to iterate over the elements |
RStdIterable | Detect if something is C++ standard iterable |
RDefaultDeinit | Represents a type that has a default (no allocator) deinit method |
RAllocatorDeinit | Represents a type that has a deinit which takes an allocator (usually does memory cleanup) |
RResultLike | Represents a type that fulfills the "result" contract |
RResultLikeWithValue | Represents a type that fulfills the "result" contract while having a success value of a specific type Does NOT check the error value (the error can be of any type) |
RResultLikeWithVoid | Represents a type that fulfills the "result" contract while having no success value Does NOT check the error value (the error can be of any type) |
RWriterImpl | Represents an implementation of a writer (basically checks if the type can be wrapped with Writer<>) |
RWriterImplBytes | Represents an implementation of a writer that we can get how many bytes were written |
RWriterImplWritten | Represents an implementation of a writer that we can get the output |
RWriterImplResettable | Represents an implementation of a writer that we can reset |
RPointer | |
RWriteThrough | Checks if a writer type is a write-through writer |
RFlushable | Represents a type that can be "flushed" (e.g |
RReaderImpl | Represents an implementation of a reader (basically checks if the type can be wrapped with Reader<>) |
RInlineFormattable | |
RFormattable | Represents a type that can be formatted |
RDefaultFormattable | Types we want to specify default ostream operators based on Formatter We exclude StdIterable types to exclude the standard library (which generally has ostream operators already) We also exclude several primitives that we define formatting for (they generally have ostream operators as well) |