Struct template schedule_timepiece_self_disclosure



// In header: <fd/schedule_debugging.h>

template<typename Char> 
struct schedule_timepiece_self_disclosure {

  // public data members
  std::wstring name;
  scheduling_purpose purpose;
  bool is_task_execution_schedule;
  bool is_application_action_schedule;
  bool is_uptime_schedule;
  bool is_downtime_schedule;
  std::basic_string< Char > str_now;
  bool is_now_within_activity_boundary;
  std::optional< bool > is_now_within_uptime;  // Whether 'now' is within a fixed duration schedule's uptime interval. 
  struct fd::schedule_timepiece_self_disclosure context;
  std::basic_string< Char > str_onset_delay;
  std::basic_string< Char > str_active_from;
  std::basic_string< Char > str_active_until;
  std::basic_string< Char > str_setup_around_;
  std::basic_string< Char > str_initially_scheduled_at;
  struct fd::schedule_timepiece_self_disclosure setup;
  std::vector< std::basic_string< Char > > str_cycle;
  ptrdiff_t cycle_index;
  std::basic_string< Char > str_current_onset;
  int repetition;
  std::basic_string< Char > str_scheduled_at;
  std::basic_string< Char > str_ending_at;
  std::basic_string< Char > str_next_scheduled_at;
  std::basic_string< Char > str_observed_scheduled_at;  // Start of current interval including onset delay. 
  std::basic_string< Char > str_observed_ending_at;  // End of current interval (w/o onset delay) 
  std::basic_string< Char > str_observed_next_scheduled_at;  // Start of next interval including onset delay. 
  struct fd::schedule_timepiece_self_disclosure status;
  bool has_completed;
  bool is_completing;
  bool will_complete_after_current_interval;
  bool will_complete_within_current_interval;
  std::optional< bool > is_contiguously_up;  // Whether an uptime schedule is contiguously up (meaning there's no downtime inbetween the current and next interval) 
  std::optional< bool > is_contiguously_down;  // Whether a downtime schedule is contiguously down (meaning there's no uptime inbetween the current and next interval) 
  struct fd::schedule_timepiece_self_disclosure state;


schedule_timepiece_self_disclosure public public data members

  1. bool is_completing;

    Whether it is the last interval (in regard to a fixed activity boundary), and the next advancement will complete the timepiece

  2. bool will_complete_after_current_interval;

    Whether the timepiece is completing (last interval) and will complete after the current interval, i.e. after the last ending time point. Dependent on is_completing; Mutually exclusive with will_complete_within_current_interval.

  3. bool will_complete_within_current_interval;

    Whether the timepiece is completing (last interval) and will complete within the current interval, i.e. before the last ending time point. Dependent on is_completing; Mutually exclusive with will_complete_after_current_interval.