pike.git / lib / modules / ADT.pmod / Stack.pike

version» Context lines:

pike.git/lib/modules/ADT.pmod/Stack.pike:124:   //! eg @[search()] and @[has_value()] on the stack.   protected int _search(mixed item)   {    int i;    for (i = ptr; i--;) {    if (arr[i] == item) return ptr-(i+1);    }    return -1;   }    - //! A stack added with another stack yields a third - //! a third stack will all the stack elements from - //! the two first stacks. + //! A stack added with another stack yields a new + //! stack with all the elements from both stacks, + //! and the elements from the second stack at the + //! top of the new stack.   this_program `+(this_program s) {    array elem = arr[..ptr-1]+values(s);    this_program ns = this_program(1);    ns->set_stack(elem);    return ns;   }      protected mixed cast(string to)   {    if( to=="array" )    return _values();    return UNDEFINED;   }      string _sprintf(int t) {    return t=='O' && sprintf("%O%O", this_program, _values());   }