/** * Check whether the task point with the specified index exists. */ gcc_pure bool IsValidIndex(unsigned i) const { return i < task_points.size(); }
/** * Retrieve task point by sequence index * * @param index Index of task point sequence * * @return OrderedTaskPoint at index */ gcc_pure const OrderedTaskPoint &GetTaskPoint(const unsigned index) const { assert(index < task_points.size()); return *task_points[index]; }
/* virtual methods from class TaskInterface */ unsigned TaskSize() const override { return task_points.size(); }
/** * returns optional start point * * @param pos optional start point index * @return nullptr if index out of range, else optional start point */ gcc_pure const OrderedTaskPoint &GetOptionalStartPoint(unsigned i) const { assert(i < optional_start_points.size()); return *optional_start_points[i]; }
/** * @return number of optional start poitns */ gcc_pure unsigned GetOptionalStartPointCount() const { return optional_start_points.size(); }
/** * @return number of optional start poitns */ gcc_pure unsigned optional_start_points_size() { return optional_start_points.size(); }