int Cursor::Next(const size_t count, std::deque<nx::String>& buf) { int rs = 0; if (isShared()) { if (extra_state_ && extra_state_->IsReady()) { // +extra with mixing std::string rs = extra_state_->Get(extra_delim_); buf.emplace_back(rs.begin(), rs.end()); ++(*extra_state_); rs = 1; } else { std::deque<nx::String> tmpbuf; rs = do_next(count * shared_total_, tmpbuf); if(rs >= 0) for(size_t i = 0, j = shared_curr_ - 1; i < count && j < tmpbuf.size(); ++i, j = shared_curr_ - 1 + shared_total_*i ) { buf.push_back(tmpbuf[j]); } } } else { ++(*extra_state_); rs = do_next(count, buf); } return rs; }
inline bool QueryTokenizer::next(Token& token, Location& loc) { if (!do_next(token)) // Throws return false; loc = std::size_t(m_lex - m_begin); return true; }
static void conn_close_done(uv_handle_t *handle) { conn *c; c = (conn *)handle->data; do_next(c->client); }
static void process_request_work_done_cb(uv_work_t* req, int status) { conn *incoming = CONTAINER_OF(req, conn, work); client_ctx *cx = incoming->client; do_next(cx); }
void Memmap::init() { QPalette pal; renderArea = new RenderArea(this, kdi_name); kdiname_Label = new QLabel("KDI Name:"); kdiWr_Label = new QLabel("KDI Writable Areas:"); prev = new QPushButton("Prev"); next = new QPushButton("Next"); kdiname_value = new QLabel(QString(kdi_name)); kdiWr_value = new QLabel(QString::number(renderArea->get_max_point(), 10)); QColor color(35, 118, 30); pal = kdiname_value->palette(); pal.setColor(QPalette::WindowText, color); kdiname_value->setPalette(pal); pal = kdiWr_value->palette(); pal.setColor(QPalette::WindowText, color); kdiWr_value->setPalette(pal); QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(renderArea, 0, 0, 1, 8); mainLayout->addWidget(kdiname_Label, 1, 0); mainLayout->addWidget(kdiname_value, 1, 1); mainLayout->addWidget(kdiWr_Label, 2, 0); mainLayout->addWidget(kdiWr_value, 2, 1); mainLayout->addWidget(prev, 3, 2); mainLayout->addWidget(next, 3, 3); setLayout(mainLayout); setMaximumSize(1024, 256); QObject::connect(prev, SIGNAL(clicked()), this, SLOT(do_prev())); QObject::connect(next, SIGNAL(clicked()), this, SLOT(do_next())); }
static bool do_next(iter_t cur, c_iter_t end, size_t max_num){ if(cur == end){ //test to ensure valid ptrs //returns zero, since no ablations usually means something else is important return false; } iter_t temp = cur; temp++; //increment current element; (*cur)++; if((*cur) >= max_num){ (*cur) = 0; } //if is at end if(temp == end){ return (*cur) == 0; } //if the current value is now greater than //or equal to the next, increment //while loop allows bad inputs to reach valid combination states //v[0] < v[1] < v[2] etc; //also yes this has n^2 runtime. fortunately n is small, like around 4-5 at most //and is called fairly rarely AND is simple while(*cur >= *temp){ *cur = 0; if(do_next(temp, end, max_num)){ return true; } } return false; }
int main(void) { struct exec_token *xt_exit, *xt_dup, *xt_mul, *square, *caller; struct exec_token *sqsq; xt_exit = new_code_exec_token(do_exit); xt_dup = new_code_exec_token(do_dup); xt_mul = new_code_exec_token(do_mul); square = new_code_exec_token(do_enter); append(square, xt_dup); append(square, xt_mul); append(square, xt_exit); // caller = new_exec_token(); // caller->param = square; sqsq = new_code_exec_token(do_enter); append(sqsq, square); append(sqsq, square); append(sqsq, xt_exit); caller = new_exec_token(); caller->param = sqsq; push(2); ip = caller; while (ip) do_next(); printf("%d: %d\n", sp, stack[sp]); return 0; }
static void conn_write_done(uv_write_t *req, int status) { conn *c; if (status == UV_ECANCELED) { return; /* Handle has been closed. */ } c = CONTAINER_OF(req, conn, write_req); c->result = status; do_next(c->client); }
static void conn_read_done(uv_stream_t *handle, ssize_t nread, const uv_buf_t *buf) { conn *c; c = CONTAINER_OF(handle, conn, handle); c->result = nread; if (nread > 0) { ASSERT(c->buf == buf->base); c->offset += nread; } uv_read_stop(&c->handle.stream); do_next(c->client); }
void parser() { int ab_code=4, x=line_ndx; int I; switch(token) { case 0: break; case 1: parse_let(); break; case 2: cls(); break; case 3: locate(); break; case 4: xstring_array(); get_prnstring(); break; case 5: go_to(); break; case 6: beep(); break; case 7: cls(); break; case 8: line_ndx = nrows; break; case 9: do_gs(); break; case 10: do_ret(); break; case 11: do_loop(); break; case 12: do_next(); break; case 13: do_iloop(); break; case 14: do_iloop(); break; case 15: return; break; case 16: return; break; case -1: break; default: printf("parser Inside DEFAULT\n"); printf("p_string = %s\n",p_string); a_bort(ab_code, x); break; } }
void ProductionThread::do_init(){ newVideoAnalysisInstance = true; m_videoAnalysis->resetModules(); do_next(); }