|
| struct | mp::TypeList< Types > |
| | Generic utility functions used by capnp code. More...
|
| |
| struct | mp::Split< 0, _Second, _First, true > |
| | Specialization of above (base case) More...
|
| |
| struct | mp::Split< index, TypeList< Type, _Second... >, TypeList< _First... >, false > |
| | Specialization of above (recursive case) More...
|
| |
| struct | mp::_Require< SfinaeExpr, Result_ > |
| | SFINAE helper, see using Require below. More...
|
| |
| struct | mp::Priority< priority > |
| | Function parameter type for prioritizing overloaded function calls that would otherwise be ambiguous. More...
|
| |
| struct | mp::Priority< 0 > |
| | Specialization of above (base case) More...
|
| |
| struct | mp::PtrOrValue< T > |
| | Convenient wrapper around std::variant<T*, T> More...
|
| |
| class | mp::Lock |
| |
| struct | mp::GuardedRef< T > |
| |
| struct | mp::UnlockGuard< Lock > |
| | Analog to std::lock_guard that unlocks instead of locks. More...
|
| |
| struct | mp::InterruptException |
| | Exception thrown from code executing an IPC call that is interrupted. More...
|
| |
| class | mp::CancelMonitor |
| | Helper class that detects when a promise is canceled. More...
|
| |
| class | mp::CancelProbe |
| | Helper object to attach to a promise and update a CancelMonitor. More...
|
| |
|
| template<typename Callable > |
| using | mp::ResultOf = decltype(std::declval< Callable >()()) |
| | Type helper giving return type of a callable type. More...
|
| |
| template<typename T > |
| using | mp::RemoveCvRef = std::remove_cv_t< std::remove_reference_t< T > > |
| | Substitutue for std::remove_cvref_t. More...
|
| |
| template<typename T > |
| using | mp::Decay = std::decay_t< T > |
| | Type helper abbreviating std::decay. More...
|
| |
| template<typename SfinaeExpr , typename Result = void> |
| using | mp::Require = typename _Require< SfinaeExpr, Result >::Result |
| | SFINAE helper, basically the same as to C++17's void_t, but allowing types other than void to be returned. More...
|
| |
| using | mp::FdToArgsFn = std::function< std::vector< std::string >(int fd)> |
| | Callback type used by SpawnProcess below. More...
|
| |
|
| template<template< typename... > class Class, typename... Types, typename... Args> |
| Class< Types..., std::remove_reference_t< Args >... > | mp::Make (Args &&... args) |
| | Construct a template class value by deducing template arguments from the types of constructor arguments, so they don't need to be specified manually. More...
|
| |
| template<typename T > |
| const char * | mp::TypeName () |
| | Return capnp type name with filename prefix removed. More...
|
| |
| class | mp::MP_CAPABILITY ("mutex") Mutex |
| |
| template<class U > |
| | mp::GuardedRef (Mutex &, U &) -> GuardedRef< U > |
| |
| template<typename Lock , typename Callback > |
| void | mp::Unlock (Lock &lock, Callback &&callback) |
| |
| template<typename Fn , typename After > |
| decltype(auto) | mp::TryFinally (Fn &&fn, After &&after) |
| | Invoke a function and run a follow-up action before returning the original result. More...
|
| |
| std::string | mp::ThreadName (const char *exe_name) |
| | Format current thread name as "{exe_name}-{$pid}/{thread_name}-{$tid}". More...
|
| |
| std::string | mp::LogEscape (const kj::StringTree &string, size_t max_size) |
| | Escape binary string for use in log so it doesn't trigger unicode decode errors in python unit tests. More...
|
| |
| int | mp::SpawnProcess (int &pid, FdToArgsFn &&fd_to_args) |
| | Spawn a new process that communicates with the current process over a socket pair. More...
|
| |
| void | mp::ExecProcess (const std::vector< std::string > &args) |
| | Call execvp with vector args. More...
|
| |
| int | mp::WaitProcess (int pid) |
| | Wait for a process to exit and return its exit code. More...
|
| |
| char * | mp::CharCast (char *c) |
| |
| char * | mp::CharCast (unsigned char *c) |
| |
| const char * | mp::CharCast (const char *c) |
| |
| const char * | mp::CharCast (const unsigned char *c) |
| |