|
MT Core (C++)
Core library for replacing C++ standard in project usage
|
#include "mtcore/colls/optional.hpp"#include "mtcore/colls/result.hpp"#include "mtcore_thread/core.hpp"#include <chrono>#include <concepts>

Go to the source code of this file.
Namespaces | |
| namespace | mtcore |
| Core library for C++ with Zig-related functionality. | |
| namespace | mtcore::thread |
| 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. | |
Concepts | |
| concept | mtcore::thread::SelectOption |
| Checks if something qualifies as an option to a select statement Allows defining custom options and cases. | |
| concept | mtcore::thread::Closeable |
| Checks if something is closeable (e.g. | |
| concept | mtcore::thread::Sender |
| Checks if messages can be sent to something (e.g. | |
| concept | mtcore::thread::Receiver |
| Checks if messages can be received from something (e.g. | |
| concept | mtcore::thread::SenderBlock |
| Checks if messages can be sent in a blocking manner. | |
| concept | mtcore::thread::ReceiverBlock |
| Checks if messages can be received in a blocking manner. | |
| concept | mtcore::thread::SenderBefore |
| Checks if messages can be sent in a blocking manner with a timeout. | |
| concept | mtcore::thread::ReceiverBefore |
| Checks if messages can be received in a blocking manner with a timeout. | |
| concept | mtcore::thread::SenderGrow |
| Checks if messages can be sent to something (e.g. | |
| concept | mtcore::thread::SenderBlockGrow |
| Checks if messages can be sent to something (e.g. | |
| concept | mtcore::thread::SenderBeforeGrow |
| Checks if messages can be sent to something (e.g. | |
| concept | mtcore::thread::HasClosedError |
| Checks if an error type has a "Has Closed" error called CHANNEL_CLOSED. | |
| concept | mtcore::thread::SenderReceiver |
| Checks if non-blocking sends and receives are supported. | |
| concept | mtcore::thread::SenderReceiverBlock |
| Checks if blocking sends and receives are supported. | |
| concept | mtcore::thread::SenderReceiverBefore |
| Checks if blocking with timeout sends and receives are supported. | |
| concept | mtcore::thread::SenderReceiverGrow |
| Checks if non-blocking sends and receives are supported with allocation to grow. | |
| concept | mtcore::thread::SenderReceiverBlockGrow |
| Checks if blocking sends and receives are supported with allocation to grow. | |
| concept | mtcore::thread::SenderReceiverBeforeGrow |
| Checks if blocking with timeout sends and receives are supported with allocation to grow. | |
| concept | mtcore::thread::ChannelLike |
| Checks if something qualifies as a channel Channels can: | |
| concept | mtcore::thread::ChannelLikeGrow |
| Checks if something qualifies as a growing channel Growing channels can: | |
Variables | |
| template<typename T> | |
| constexpr bool | mtcore::thread::has_closed_error = impl::IsHasClosedError<T>::value |
| Checks if an error type has a recognized closed error. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_closeable = impl::IsCloseable<T>::value |
| Checks if a type is closeable. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender = impl::IsSender<T>::value |
| Checks if a type can be sent to. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_grow = impl::IsSenderGrow<T>::value |
| Checks if a type can be sent to with growing. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_block = impl::IsSenderBlock<T>::value |
| Checks if a type can be sent to (blocking) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_block_grow = impl::IsSenderBlockGrow<T>::value |
| Checks if a type can be sent to (blocking) with growing. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_before = impl::IsSenderBefore<T>::value |
| Checks if a type can be sent to (blocking, timeout) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_before_grow = impl::IsSenderBeforeGrow<T>::value |
| Checks if a type can be sent to (blocking, timeout) with growing. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_receiver = impl::IsReceiver<T>::value |
| Checks if a type can be received from. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_receiver_block = impl::IsReceiverBlock<T>::value |
| Checks if a type can be received from (blocking) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_receiver_before = impl::IsReceiverBefore<T>::value |
| Checks if a type can be received from (blocking, timeout) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver = impl::IsSenderReceiver<T>::value |
| Checks if a type can be sent to and received from. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver_grow = impl::IsSenderReceiverGrow<T>::value |
| Checks if a type can be sent to and received from with growing send. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver_block = impl::IsSenderReceiverBlock<T>::value |
| Checks if a type can be sent to and received from (blocking) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver_block_grow = impl::IsSenderReceiverBlockGrow<T>::value |
| Checks if a type can be sent to and received from (blocking) with growing send. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver_before = impl::IsSenderReceiverBefore<T>::value |
| Checks if a type can be sent to and received from (blocking, timeout) | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_sender_receiver_before_grow = impl::IsSenderReceiverBeforeGrow<T>::value |
| Checks if a type can be sent to and received from (blocking, timeout) with growing send. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_channel_like = impl::IsChannelLike<T>::value |
| Checks if a type is channel-like. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_channel_like_grow = impl::IsChannelLikeGrow<T>::value |
| Checks if a type is growing channel-like. | |
| template<typename T> | |
| constexpr bool | mtcore::thread::is_select_option = impl::IsSelectOption<T>::value |
| Checks if a type can be used in a select statement as an option. | |