A director function is a function , such that there exists such that
A director is any callable object in C++, which takes in a single integer argument, and returns an integer such that the resulting function is a director function.
A director function represents a unit-step function centered at ; for every director function there exists a unique step-indicator function. The motivation for directors comes up because sometimes, when doing a binary search, one knows more about the underlying step-indicator than just the point-samples. A director allows the binary search to skip elements without crossing the . This improves the efficiency of the search; sometimes it may even improve the time-complexity of an algorithm.