X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=deferred_operand.py;h=9edbb9e8072b451ffc13f447235e3da5505bcff6;hb=903843730a9916105352c729e94136a755b5e529;hp=70e9d57392dc0a0b44ba7464cf3be9ee1aa797eb;hpb=0d63d44ac89aab38fe95f36497adaf95110ab949;p=python_utils.git diff --git a/deferred_operand.py b/deferred_operand.py index 70e9d57..9edbb9e 100644 --- a/deferred_operand.py +++ b/deferred_operand.py @@ -1,8 +1,12 @@ #!/usr/bin/env python3 +# © Copyright 2021-2022, Scott Gasch + """This is a helper class that tries to define every __dunder__ method so as to defer that evaluation of an object as long as possible. It -is used by smart_future.py as a base class.""" +is used by smart_future.py as a base class. + +""" from abc import ABC, abstractmethod from typing import Any, Generic, TypeVar @@ -15,11 +19,12 @@ T = TypeVar('T') class DeferredOperand(ABC, Generic[T]): """A wrapper around an operand whose value is deferred until it is - needed. See subclass SmartFuture for an example usage. + needed (i.e. accessed). See the subclass :class:`SmartFuture` for + an example usage and/or a more useful patten. """ @abstractmethod - def _resolve(self) -> T: + def _resolve(self, timeout=None) -> T: pass @staticmethod