1 #ifndef SUBORDINATION_KERNEL_KERNEL_BASE_HH 2 #define SUBORDINATION_KERNEL_KERNEL_BASE_HH 9 #include <unistdx/util/backtrace> 12 #include <subordination/kernel/exit_code.hh> 13 #include <subordination/kernel/kernel_flag.hh> 21 typedef clock_type::time_point time_point;
22 typedef clock_type::duration duration;
26 exit_code _result = exit_code::undefined;
27 time_point _at = time_point(duration::zero());
34 if (this->isset(kernel_flag::deleted)) {
37 assert(!this->isset(kernel_flag::deleted));
39 this->setf(kernel_flag::deleted);
43 return_code()
const noexcept {
48 return_code(exit_code rhs) noexcept {
59 at(time_point t) noexcept {
64 after(duration delay) noexcept {
69 scheduled()
const noexcept {
70 return this->_at != time_point(duration::zero());
75 flags()
const noexcept {
80 setf(kernel_flag f) noexcept {
81 this->_flags.
set(static_cast<size_t>(f));
85 unsetf(kernel_flag f) noexcept {
86 this->_flags.
reset(static_cast<size_t>(f));
90 isset(kernel_flag f)
const noexcept {
91 return this->_flags.
test(static_cast<size_t>(f));
95 carries_parent()
const noexcept {
96 return this->isset(kernel_flag::carries_parent);
103 #endif // vim:filetype=cpp Definition: kernel_base.hh:17