28#ifndef OZZ_OZZ_ANIMATION_RUNTIME_TRACK_TRIGGERING_JOB_H_
29#define OZZ_OZZ_ANIMATION_RUNTIME_TRACK_TRIGGERING_JOB_H_
31#include "ozz/animation/runtime/export.h"
32#include "ozz/base/platform.h"
54 bool Validate()
const;
101 Iterator() : job_(nullptr), outer_(0.f), inner_(0) {}
106 const Iterator& operator++();
107 Iterator operator++(
int) {
108 Iterator prev = *
this;
114 bool operator!=(
const Iterator& _it)
const {
115 return inner_ != _it.inner_ || outer_ != _it.outer_ || job_ != _it.job_;
117 bool operator==(
const Iterator& _it)
const {
118 return job_ == _it.job_ && outer_ == _it.outer_ && inner_ == _it.inner_;
122 const Edge& operator*()
const {
123 assert(*
this != job_->end() &&
"Can't dereference end iterator.");
126 const Edge* operator->()
const {
127 assert(*
this != job_->end() &&
"Can't dereference end iterator.");
132 friend struct TrackTriggeringJob;
135 explicit Iterator(
const TrackTriggeringJob* _job);
137 Iterator(
const TrackTriggeringJob* _job, End)
144 const TrackTriggeringJob* job_;
157inline TrackTriggeringJob::Iterator TrackTriggeringJob::end()
const {
158 return Iterator(
this, Iterator::End());
Definition track_triggering_job.h:90
Definition track_triggering_job.h:50