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. | |