7#ifndef PXR_EXEC_VDF_EXECUTOR_H
8#define PXR_EXEC_VDF_EXECUTOR_H
23PXR_NAMESPACE_OPEN_SCOPE
36 template <
typename>
class EngineType,
37 typename DataManagerType>
49 using SpeculationEngineType =
50 typename EngineType<T>::SpeculationExecutorEngine;
55 VdfSubExecutor<EngineType, DataManagerType>,
71 virtual const VdfExecutorFactoryBase &
GetFactory() const override final {
81 const VdfRequest &computeRequest,
86 virtual void _ClearData()
override;
92 static const _Factory _factory;
96 EngineType<DataManagerType> _engine;
101template <
template <
typename>
class EngineType,
typename DataManagerType>
102const typename VdfExecutor<EngineType, DataManagerType>::_Factory
105template <
template <
typename>
class EngineType,
typename DataManagerType>
109 const VdfRequest &computeRequest,
113 if (computeRequest.IsEmpty()) {
120 _engine.RunSchedule(schedule, computeRequest, errorLogger);
123template <
template <
typename>
class EngineType,
typename DataManagerType>
127 Base::_dataManager.Clear();
130PXR_NAMESPACE_CLOSE_SCOPE
Base class for executors that use a data manager.
A client may instantiate an object of this class and set it in an executor, to collect errors that ma...
Executes a VdfNetwork to compute a requested set of values.
VdfExecutor()
Default constructor.
virtual const VdfExecutorFactoryBase & GetFactory() const override final
Factory construction.
virtual ~VdfExecutor()
Destructor.
Contains a specification of how to execute a particular VdfNetwork.
Executor used in speculation.