memoize

Undocumented in source.

Members

Aliases

memoize
alias memoize(alias fun) = _memoize!(fun, "")
alias memoize(alias fun, uint maxSize) = _memoize!(fun, maxSize, "")

The same as in Phobos std.functional.

noLockMemoize
alias noLockMemoize(alias fun) = _memoize!(fun, "shared")

must be locked explicitly!

noLockMemoize
alias noLockMemoize(alias fun, uint maxSize) = _memoize!(fun, maxSize, "shared")

must be locked explicitly!

Mixin templates

CachedProperty
mixintemplate CachedProperty(string name, string baseName = '_' ~ name)

The following code makes cached (memoized) property f

Templates

memoizeMember
template memoizeMember(S, string name, uint maxSize)

Use it to memoize both a struct or class instance for a member function and function arguments like:

memoizeMember
template memoizeMember(S, string name)

Use it to memoize both a struct or class instance for a member function and function arguments like:

synchronizedMemoize
template synchronizedMemoize(alias fun)
Undocumented in source.
synchronizedMemoize
template synchronizedMemoize(alias fun, uint maxSize)
Undocumented in source.

Meta