Given that the template type T provides an id() operator returning a natural number; in the ctor, for the block pointer parameter, that the referred-to block has size equal to the ctor parameter n, itself less than the size of the hardware address space; and that the block be filled with valid object pointers, the referred-to objects of which are in ascending order according to operator id(); then an instance of Search<T> returns, upon dereference, a pointer to an object of T having id() equal to the ctor key parameter, if such an object exists in the block, and zero otherwise.