#include "iox2/legacy/detail/platform_correction.hpp"
#include "iox2/bb/detail/attributes.hpp"
#include "iox2/legacy/expected.hpp"
#include <cstdint>
#include "iox2/legacy/detail/posix_call.inl"
Go to the source code of this file.
|
| #define | IOX2_POSIX_CALL(f) |
| | Calling a posix function with automated error handling. If the posix function returns void you do not need to use 'IOX2_POSIX_CALL' since it cannot fail, (see: man errno). We use a builder pattern to create a design which sets the usage contract so that it cannot be used in the wrong way.
|
| |
◆ IOX2_POSIX_CALL
| #define IOX2_POSIX_CALL |
( |
|
f | ) |
|
Value:
&(f), \
(#f), \
__FILE__, \
__LINE__, \
__PRETTY_FUNCTION__)
PosixCallBuilder< ReturnType, FunctionArguments... > createPosixCallBuilder(ReturnType(*IOX2_POSIX_CALL)(FunctionArguments...), const char *posixFunctionName, const char *file, const int32_t line, const char *callingFunction) noexcept
Calling a posix function with automated error handling. If the posix function returns void you do not need to use 'IOX2_POSIX_CALL' since it cannot fail, (see: man errno). We use a builder pattern to create a design which sets the usage contract so that it cannot be used in the wrong way.
.successReturnValue(0)
.ignoreErrnos(ETIMEDOUT)
.evaluate()
.and_then([](auto & result){
})
.or_else([](auto & result){
})
#define IOX2_LOG(level, msg_stream)
Macro for logging.
#define IOX2_POSIX_CALL(f)
Calling a posix function with automated error handling. If the posix function returns void you do not...
Definition at line 198 of file posix_call.hpp.