Package Evtx :: Module BinaryParser :: Class memoize
[hide private]
[frames] | no frames]

Class memoize

source code


cache the return value of a method

From http://code.activestate.com/recipes/577452-a-memoize-decorator-for-instance-methods/

This class is meant to be used as a decorator of methods. The return value
from a given method invocation will be cached on the instance whose method
was invoked. All arguments passed to a method decorated with memoize must
be hashable.

If a memoized method is invoked directly on its class the result will not
be cached. Instead the method will be invoked like a static method:
class Obj(object):
    @memoize
    def add_to(self, arg):
        return self + arg
Obj.add_to(1) # not enough arguments
Obj.add_to(1, 2) # returns 3, result is not cached

Instance Methods [hide private]
 
__init__(self, func)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__get__(self, obj, objtype=None) source code
 
__call__(self, *args, **kw) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, func)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)