22 lines
584 B
Python
22 lines
584 B
Python
from typing import Protocol, runtime_checkable
|
|
|
|
from modules.task import QTask
|
|
from modules.task_pool import QTaskPool
|
|
from modules.variant import QVariant
|
|
from modules.variant_set import QVariantSet
|
|
from utils.types import A, C, Q, V
|
|
|
|
|
|
@runtime_checkable
|
|
class VTaskConstraintDynamic(Protocol[C, V, Q, A]):
|
|
def _dyn(self):
|
|
return None
|
|
|
|
def check_if_satisfied(
|
|
self,
|
|
task: QTask[C, V, Q, A],
|
|
task_pool: QTaskPool[C, V, Q, A],
|
|
previous_variants: QVariantSet[C, V, Q, A],
|
|
current_variant: QVariant[C, V, Q, A],
|
|
) -> bool: ...
|