WG14 result
Loading...
Searching...
No Matches
status_code_system.h File Reference
#include "status_code_generic.h"
#include <stdint.h>
Include dependency graph for status_code_system.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  status_code_system_s
 A status_code guaranteed to be able to hold any system error code in full. The payload is always an intptr_t. More...
 

Macros

#define STATUS_CODE_SYSTEM_MAKE_IMPL2(src, payload_size, total_size, total_alignment)
 
#define STATUS_CODE_SYSTEM_MAKE_IMPL(src, ...)    STATUS_CODE_SYSTEM_MAKE_IMPL2((src), __VA_ARGS__)
 
#define status_code_system_make(...)
 Make a system code from a typed input status code, this will fail if the input status cannot fit into a system code or if alignment requirements are not met.
 

Typedefs

typedef struct status_code_system_s status_code_system
 A status_code guaranteed to be able to hold any system error code in full. The payload is always an intptr_t.
 

Macro Definition Documentation

◆ status_code_system_make

#define status_code_system_make (   ...)
Value:
WG14_RESULT_TYPEOF_UNQUAL((__VA_ARGS__).value)))
#define WG14_RESULT_TYPEOF_UNQUAL(...)
Definition config.h:83
#define STATUS_CODE_DOMAIN_PAYLOAD_INFO_INIT_INNARDS(T)
#define STATUS_CODE_SYSTEM_MAKE_IMPL(src,...)

Make a system code from a typed input status code, this will fail if the input status cannot fit into a system code or if alignment requirements are not met.

Definition at line 102 of file status_code_system.h.

◆ STATUS_CODE_SYSTEM_MAKE_IMPL

#define STATUS_CODE_SYSTEM_MAKE_IMPL (   src,
  ... 
)     STATUS_CODE_SYSTEM_MAKE_IMPL2((src), __VA_ARGS__)

Definition at line 96 of file status_code_system.h.

◆ STATUS_CODE_SYSTEM_MAKE_IMPL2

#define STATUS_CODE_SYSTEM_MAKE_IMPL2 (   src,
  payload_size,
  total_size,
  total_alignment 
)
Value:
WG14_RESULT_PREFIX(status_code_system_make) \
(total_size) <= sizeof(WG14_RESULT_PREFIX(status_code_system)), \
"cannot make a system code from a larger sized input", \
(total_alignment) <= __alignof(WG14_RESULT_PREFIX(status_code_system)), \
"cannot make a system code from a more over aligned input", (src))), \
WG14_RESULT_PREFIX(status_code_domain_payload_info_make)( \
(payload_size), (total_size), (total_alignment)))
#define WG14_RESULT_STATIC_ASSERT_WITHIN_EXPR(pred, msg,...)
Definition config.h:126
#define status_code_system_make(...)
Make a system code from a typed input status code, this will fail if the input status cannot fit into...
A status_code guaranteed to be able to hold any system error code in full. The payload is always an i...

Definition at line 85 of file status_code_system.h.

Typedef Documentation

◆ status_code_system

A status_code guaranteed to be able to hold any system error code in full. The payload is always an intptr_t.