Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
static void conn_close_done(uv_handle_t *handle)
{
	conn *c;

	c = (conn *)handle->data;
	do_next(c->client);
}
Example #4
0
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);
}
Example #5
0
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()));
}
Example #6
0
 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;
 }
Example #7
0
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;
}
Example #8
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);
}
Example #9
0
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);
}
Example #10
0
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;
  }
}
Example #11
0
void ProductionThread::do_init(){
    newVideoAnalysisInstance = true;
    m_videoAnalysis->resetModules();
    do_next();
}