• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ hash类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中hash的典型用法代码示例。如果您正苦于以下问题:C++ hash类的具体用法?C++ hash怎么用?C++ hash使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了hash类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: readSystemException

void Error::readSystemException(hash data) {
    if (!data.contains(1)) {
        LOG_ERROR("Empty User Exception");
        return;
    }

    bool ok;
    int errorCode = data[1].toInt(&ok);

    if (!ok) {
        LOG_ERROR("Unknown User Exception");
        return;
    }

    EDAMErrorCode(errorCode);

    if (data.contains(2)) {
        QString message = data[2].toString();
        LOG_INFO(message);
    }

    if (data.contains(3)) {
        int rateLimitDuration = data[3].toInt();
        LOG_INFO(QString("Rate Limit Duration: %1 s.").arg(rateLimitDuration));
    }
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:26,代码来源:error.cpp


示例2: readUserException

void Error::readExceptions(hash data) {
    if (data.contains(1))
        readUserException(data[1].value<hash>());

    if (data.contains(2))
        readSystemException(data[2].value<hash>());

    if (data.contains(3))
        readNotFoundException(data[3].value<hash>());
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:10,代码来源:error.cpp


示例3: memset

/* finalize the hash computation and output the result */
void skein512::finalize( hash &hashVal )
{
    size_t n,byteCnt;
    uint64_t Y[8];

    _T[1] |= SKEIN_T1_FLAG_FINAL;                 /* tag as the final block */
    if ( _block_size < 64 )            /* zero pad b[] if necessary */
        memset( &_block[_block_size], 0, 64 - _block_size );

    process( _block, 1, _block_size );  /* process the final block */

    /* now output the result */
    byteCnt = (512 + 7) >> 3;             /* total number of output bytes */

    /* run Threefish in "counter mode" to generate output */
    memset( _block, 0, sizeof(_block) );  /* zero out b[], so it can hold the counter */
    memcpy( Y, _X, sizeof(_X) );       /* keep a local copy of counter mode "key" */
    for ( size_t i = 0; i * 64 < byteCnt; i++ )
	{
		_block64[0] = Skein_Swap64( uint64_t(i) ); /* build the counter block */

        start_new_type( SKEIN_T1_BLK_TYPE_OUT_FINAL );
        process( _block, 1, sizeof(uint64_t) ); /* run "counter mode" */
        n = byteCnt - i*64;   /* number of output bytes left to go */
        if (n >= 64)
            n  = 64;
        Skein_Put64_LSB_First(hashVal.data()+i*64,_X,n);   /* "output" the ctr mode bytes */
        memcpy(_X,Y,sizeof(_X));   /* restore the counter mode key for next time */
	}
}
开发者ID:kdt3rd,项目名称:gecko,代码行数:31,代码来源:skein512.cpp


示例4: operator

 result_type
 operator()(T const& t) const noexcept
 {
     H h;
     using hash::hash_append;
     hash_append(h, t);
     return static_cast<result_type>(h);
 }
开发者ID:mitsutaka-takeda,项目名称:hash,代码行数:8,代码来源:uhash.hpp


示例5: readNotFoundException

void Error::readNotFoundException(hash data) {
    QString e("Not Found Exception");

    if (data.contains(1)) {
        QString identifier = data[1].toString();
        e.append(" Identifier:");
        e.append(identifier);
    }

    if (data.contains(2)) {
        QString key = data[2].toString();
        e.append(" Key:");
        e.append(key);
    }

    LOG_ERROR(e);
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:17,代码来源:error.cpp


示例6: add_expr_commutative

static void
add_expr_commutative (const_tree t1, const_tree t2, hash &hstate)
{
  hash one, two;

  inchash::add_expr (t1, one);
  inchash::add_expr (t2, two);
  hstate.add_commutative (one, two);
}
开发者ID:pjump,项目名称:gcc,代码行数:9,代码来源:tree-ssa-scopedtables.c


示例7: add

      inline void add(key_t key, const add_t &val, val_t *oval = 0) {
        while(true) {
          while(atomic::cas(&status, FREE, INUSE) != FREE)
            my_hash->wait_event_is_done();

          if(ary->add(key, val, oval))
            break;

          // Improve this. Undefined behavior if dump_to_file throws an error.
          if(my_hash->get_event_locks()) {
            my_hash->dump();
            my_hash->release_event_locks();
          }
        }
        
        if(atomic::cas(&status, INUSE, FREE) != INUSE)
          my_hash->signal_not_in_use();
      }
开发者ID:Bioinformaticsnl,项目名称:Jellyfish,代码行数:18,代码来源:hash.hpp


示例8: loadFromData

void NoteBook::loadFromData(hash data)
{
    qDebug() << "readData" << data.keys();
    if (data.contains(1))
        guid = QString::fromUtf8(data[1].toByteArray());
    if (data.contains(2))
        name = QString::fromUtf8(data[2].toByteArray());
    if (data.contains(5))
        updateSequenceNum = data[5].toInt();
    if (data.contains(6))
        defaultNotebook = data[6].toBool();
    if (data.contains(7))
        serviceCreated = QDateTime::fromMSecsSinceEpoch(data[7].toLongLong());
    if (data.contains(8))
        serviceUpdated = QDateTime::fromMSecsSinceEpoch(data[8].toLongLong());
    if (data.contains(12))
        stack = QString::fromUtf8(data[12].toByteArray());
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:18,代码来源:notebook.cpp


示例9: readAttributes

void Note::readAttributes(hash data)
{
    if (data.contains(1))
        attributes["subjectDate"] = data[1];

    if (data.contains(10))
        attributes["latitude"] = data[10];

    if (data.contains(11))
        attributes["longitude"] = data[11];

    if (data.contains(12))
        attributes["altitude"] = data[12];

    if (data.contains(13))
        attributes["author"] = data[13];

    if (data.contains(14))
        attributes["sourceURL"] = data[14];

    if (data.contains(15))
        attributes["sourceURL"] = data[15];

    if (data.contains(16))
        attributes["sourceApplication"] = data[16];

    if (data.contains(17))
        attributes["shareDate"] = data[17];

    if (data.contains(18))
        attributes["reminderOrder"] = data[18];

    if (data.contains(19))
        attributes["reminderDoneTime"] = data[19];

    if (data.contains(20))
        attributes["reminderTime"] = data[20];

    if (data.contains(21))
        attributes["placeName"] = data[21];

    if (data.contains(22))
        attributes["contentClass"] = data[22];

    if (data.contains(23))
        attributes["applicationData"] = data[23];

    if (data.contains(24))
        attributes["lastEditedBy"] = data[24];

    if (data.contains(25))
        attributes["classifications"] = data[25];

    if (data.contains(27))
        attributes["creatorId"] = data[27];

    if (data.contains(28))
        attributes["lastEditorId"] = data[28];
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:59,代码来源:note.cpp


示例10: Resource

void Note::loadFromData(hash data)
{
    if (data.contains(1))
        guid = QString::fromUtf8(data[1].toByteArray());
    if (data.contains(2))
        title = QString::fromUtf8(data[2].toByteArray());
    if (data.contains(3))
        content = QString::fromUtf8(data[3].toByteArray());
    if (data.contains(4))
        contentHash = data[4].toByteArray().toHex();
    if (data.contains(5))
        contentLength = data[5].toInt();
    if (data.contains(6))
        created = QDateTime::fromMSecsSinceEpoch(data[6].toLongLong());
    if (data.contains(7))
        updated = QDateTime::fromMSecsSinceEpoch(data[7].toLongLong());
    if (data.contains(8))
        deleted = QDateTime::fromMSecsSinceEpoch(data[8].toLongLong());
    if (data.contains(9))
        active = data[9].toBool();
    if (data.contains(10))
        updateSequenceNum = data[10].toInt();
    if (data.contains(11))
        notebookGuid = QString::fromUtf8(data[11].toByteArray());
    if (data.contains(12)) {
        list l = data[12].toList();
        for (int i=0; i<l.size(); i++){
            QString tguid = QString::fromUtf8(l.at(i).toByteArray());
            tagGuids.append(tguid);
        }
    }
    if (data.contains(13)) {
        list l = data[13].toList();
        QSqlDatabase::database().transaction();
        for (int i=0; i<l.size(); i++){
            hash res = l.at(i).value<hash>();
            Resource *r = new Resource(this, res);
            delete r;
        }
        QSqlDatabase::database().commit();
    }
    if (data.contains(14)) {
        hash attr = data[14].value<hash>();
        readAttributes(attr);
    }
}
开发者ID:MidoriYakumo,项目名称:hippo,代码行数:46,代码来源:note.cpp


示例11: add_rtx

void
add_rtx (const_rtx x, hash &hstate)
{
  enum rtx_code code;
  machine_mode mode;
  int i, j;
  const char *fmt;

  if (x == NULL_RTX)
    return;
  code = GET_CODE (x);
  hstate.add_object (code);
  mode = GET_MODE (x);
  hstate.add_object (mode);
  switch (code)
    {
    case REG:
      hstate.add_int (REGNO (x));
      return;
    case CONST_INT:
      hstate.add_object (INTVAL (x));
      return;
    case CONST_WIDE_INT:
      for (i = 0; i < CONST_WIDE_INT_NUNITS (x); i++)
	hstate.add_object (CONST_WIDE_INT_ELT (x, i));
      return;
    case CONST_POLY_INT:
      for (i = 0; i < NUM_POLY_INT_COEFFS; ++i)
	hstate.add_wide_int (CONST_POLY_INT_COEFFS (x)[i]);
      break;
    case SYMBOL_REF:
      if (XSTR (x, 0))
	hstate.add (XSTR (x, 0), strlen (XSTR (x, 0)) + 1);
      return;
    case LABEL_REF:
    case DEBUG_EXPR:
    case VALUE:
    case SCRATCH:
    case CONST_DOUBLE:
    case CONST_FIXED:
    case DEBUG_IMPLICIT_PTR:
    case DEBUG_PARAMETER_REF:
      return;
    default:
      break;
    }

  fmt = GET_RTX_FORMAT (code);
  for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
    switch (fmt[i])
      {
      case 'w':
	hstate.add_hwi (XWINT (x, i));
	break;
      case 'n':
      case 'i':
	hstate.add_int (XINT (x, i));
	break;
      case 'p':
	hstate.add_poly_int (SUBREG_BYTE (x));
	break;
      case 'V':
      case 'E':
	j = XVECLEN (x, i);
	hstate.add_int (j);
	for (j = 0; j < XVECLEN (x, i); j++)
	  inchash::add_rtx (XVECEXP (x, i, j), hstate);
	break;
      case 'e':
	inchash::add_rtx (XEXP (x, i), hstate);
	break;
      case 'S':
      case 's':
	if (XSTR (x, i))
	  hstate.add (XSTR (x, 0), strlen (XSTR (x, 0)) + 1);
	break;
      default:
	break;
      }
}
开发者ID:MaxKellermann,项目名称:gcc,代码行数:80,代码来源:rtlhash.c


示例12: add_hashable_expr

static void
add_hashable_expr (const struct hashable_expr *expr, hash &hstate)
{
  switch (expr->kind)
    {
    case EXPR_SINGLE:
      inchash::add_expr (expr->ops.single.rhs, hstate);
      break;

    case EXPR_UNARY:
      hstate.add_object (expr->ops.unary.op);

      /* Make sure to include signedness in the hash computation.
         Don't hash the type, that can lead to having nodes which
         compare equal according to operand_equal_p, but which
         have different hash codes.  */
      if (CONVERT_EXPR_CODE_P (expr->ops.unary.op)
          || expr->ops.unary.op == NON_LVALUE_EXPR)
        hstate.add_int (TYPE_UNSIGNED (expr->type));

      inchash::add_expr (expr->ops.unary.opnd, hstate);
      break;

    case EXPR_BINARY:
      hstate.add_object (expr->ops.binary.op);
      if (commutative_tree_code (expr->ops.binary.op))
	inchash::add_expr_commutative (expr->ops.binary.opnd0,
					  expr->ops.binary.opnd1, hstate);
      else
        {
          inchash::add_expr (expr->ops.binary.opnd0, hstate);
          inchash::add_expr (expr->ops.binary.opnd1, hstate);
        }
      break;

    case EXPR_TERNARY:
      hstate.add_object (expr->ops.ternary.op);
      if (commutative_ternary_tree_code (expr->ops.ternary.op))
	inchash::add_expr_commutative (expr->ops.ternary.opnd0,
					  expr->ops.ternary.opnd1, hstate);
      else
        {
          inchash::add_expr (expr->ops.ternary.opnd0, hstate);
          inchash::add_expr (expr->ops.ternary.opnd1, hstate);
        }
      inchash::add_expr (expr->ops.ternary.opnd2, hstate);
      break;

    case EXPR_CALL:
      {
        size_t i;
        enum tree_code code = CALL_EXPR;
        gcall *fn_from;

        hstate.add_object (code);
        fn_from = expr->ops.call.fn_from;
        if (gimple_call_internal_p (fn_from))
          hstate.merge_hash ((hashval_t) gimple_call_internal_fn (fn_from));
        else
          inchash::add_expr (gimple_call_fn (fn_from), hstate);
        for (i = 0; i < expr->ops.call.nargs; i++)
          inchash::add_expr (expr->ops.call.args[i], hstate);
      }
      break;

    case EXPR_PHI:
      {
        size_t i;

        for (i = 0; i < expr->ops.phi.nargs; i++)
          inchash::add_expr (expr->ops.phi.args[i], hstate);
      }
      break;

    default:
      gcc_unreachable ();
    }
}
开发者ID:pjump,项目名称:gcc,代码行数:78,代码来源:tree-ssa-scopedtables.c


示例13: main

int main(int argc, char *argv[])
{
    //freopen("rank.in","r",stdin);freopen("rank.out","w",stdout);
    scanf("%d",&n);
    for(int i = 1;i<=n;i++)
    {
     int w;char c=0;
     while(c != '+' && c != '?')
      scanf("%c",&c);
     switch(c)
     {
      case '+':
           {
            scanf("%s %d\n",s,&w);
            int u = h.find();
            if(u == 0)
             ins(root,w);
            else
             del(u),ins(root,w);
            break;
           }
      case '?':
           {
            scanf("%s\n",s);
            if(!isupper(s[0]))
            {
             w = strtol(s,0,10);
             int tot = min(t[root].size,w+9);
             for(int j = w;j<=tot;j++)
             {
              findkth(root,j);
              printf("%s",s);
              if( j < tot)
               printf(" ");
              else
               puts("");
             }
            }else
             printf("%d\n",count(h.find()));
           }
     }
    }
    //fclose(stdin);fclose(stdout);
    return EXIT_SUCCESS;
}
开发者ID:niyuzheno1,项目名称:CODES,代码行数:45,代码来源:ans2.cpp


示例14: ins

void ins(int & x,int w)
{
 if(x == 0)
 {
  tot++;
  t[tot] = node(w);
  x = tot;
  h.add(tot);
  return;
 }
 int i = w<=t[x].w;
 ins(t[x].ch[i],w);
 t[t[x].ch[i]].F = x;
 updata(x);
 int y = t[x].ch[i];
 if(rand()%t[x].size < 1){
  rotate(y);
  x = y;
 }
 if(t[x].F == 0)
  root = x;
}
开发者ID:niyuzheno1,项目名称:CODES,代码行数:22,代码来源:ans2.cpp



注:本文中的hash类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ hash_collection类代码示例发布时间:2022-05-31
下一篇:
C++ handle类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap