您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ str_hash函数代码示例

51自学网 2021-06-03 08:26:23
  C++
这篇教程C++ str_hash函数代码示例写得很实用,希望能帮到您。

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

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

示例1: strcpy

hash_token_t *uq_tokenize_to_hash(const char *str, const char *delimiters) {	unsigned int hash;	hash_token_t *s, *table = NULL;	char *tok;	char tmp[strlen(str) + 1];	strcpy(tmp, str);	tok = strtok(tmp, delimiters);	while(tok != NULL) {		hash = str_hash(tok);		HASH_FIND_INT(table, &hash, s);		if(s == NULL) {			s = malloc(sizeof(hash_token_t));			s->key = str_hash(tok);			s->value = strdup(tok);			HASH_ADD_INT(table, key, s);		}		tok = strtok(NULL, delimiters);	}	return (table);}
开发者ID:aperi2007,项目名称:libsimmetrics,代码行数:32,


示例2: admin_img

/** * @brief admin_img the function to deal with admin reqeust for disk mode * * @param req the evhtp request * @param md5 the file md5 * @param t admin type * * @return 1 for OK, 2 for 404 not found and -1 for fail */int admin_img(evhtp_request_t *req, thr_arg_t *thr_arg, char *md5, int t){    int result = -1;    LOG_PRINT(LOG_DEBUG, "amdin_img() start processing admin request...");    char whole_path[512];    int lvl1 = str_hash(md5);    int lvl2 = str_hash(md5 + 3);    snprintf(whole_path, 512, "%s/%d/%d/%s", settings.img_path, lvl1, lvl2, md5);    LOG_PRINT(LOG_DEBUG, "whole_path: %s", whole_path);    if(is_dir(whole_path) == -1)    {        LOG_PRINT(LOG_DEBUG, "path: %s is not exist!", whole_path);        return 2;    }    if(t == 1)    {        if(delete_file(whole_path) != -1)        {            result = 1;            evbuffer_add_printf(req->buffer_out,                 "<html><body><h1>Admin Command Successful!</h1> /                <p>MD5: %s</p> /                <p>Command Type: %d</p> /                </body></html>",                md5, t);            evhtp_headers_add_header(req->headers_out, evhtp_header_new("Content-Type", "text/html", 0, 0));        }    }
开发者ID:734839030,项目名称:zimg,代码行数:40,


示例3: arrays_array

return_code arrays_array(Object* o, Linked_list *args, Variable* eval_value, int as_constructor) {    (void)o;    (void)args;    if(!as_constructor) {        err_add(E_ERROR, OP_IMPOSSIBLE, "Can't use this built-in function (arrays.array) as a function");        return RC_ERROR;    }    // Nouvel objet array    eval_value->type = T_OBJECT;    eval_value->value.v_obj = var_new_object(NULL);    // Nom d'objet : array    eval_value->value.v_obj->name = "array";    eval_value->value.v_obj->name_h = ARRAY_HASH;    // Array en lui même    Array* ar = xcalloc(1, sizeof(Array));    eval_value->value.v_obj->data = (void*)ar;    // Initialisation de l'array    array_init(ar);    // Fonction des strings    Variable *v = var_new("add", str_hash("add"), T_FUNCTION_BUILTIN);    v->value.v_func_builtin = arrays_array_add;    v->container = &eval_value->value.v_obj->ec;    v->container->object = eval_value->value.v_obj;    linked_list_push(&(eval_value->value.v_obj->ec.variables), LLT_VARIABLE, (void*)v);    v = var_new("get", str_hash("get"), T_FUNCTION_BUILTIN);    v->value.v_func_builtin = arrays_array_get;    v->container = &eval_value->value.v_obj->ec;    v->container->object = eval_value->value.v_obj;    linked_list_push(&(eval_value->value.v_obj->ec.variables), LLT_VARIABLE, (void*)v);    v = var_new("pop", str_hash("pop"), T_FUNCTION_BUILTIN);    v->value.v_func_builtin = arrays_array_pop;    v->container = &eval_value->value.v_obj->ec;    v->container->object = eval_value->value.v_obj;    linked_list_push(&(eval_value->value.v_obj->ec.variables), LLT_VARIABLE, (void*)v);    v = var_new("length", str_hash("length"), T_FUNCTION_BUILTIN);    v->value.v_func_builtin = arrays_array_length;    v->container = &eval_value->value.v_obj->ec;    v->container->object = eval_value->value.v_obj;    linked_list_push(&(eval_value->value.v_obj->ec.variables), LLT_VARIABLE, (void*)v);    return RC_OK;}
开发者ID:Vuzi,项目名称:vuziks,代码行数:58,


示例4: str_hash

std::size_t UIntPolyFlint::__hash__() const{    std::hash<std::string> str_hash;    std::size_t seed = UINTPOLYFLINT;    seed += str_hash(var_->get_name());    hash_combine(seed, str_hash(poly_.to_string()));    return seed;}
开发者ID:chenchfort,项目名称:symengine,代码行数:9,


示例5: hash1

size_t hash1( const std::string& s ){        std::string ns = s;        makelowercase(ns);        std::hash< std::string > str_hash;        return str_hash(ns);   }
开发者ID:sjwilczynski,项目名称:Studia,代码行数:7,


示例6: Shash_del

int Shash_del(T *hash, char *key){    int index, flag = 0;    NODE_T **p, *q;    BUCKET_T *bucket;    assert(key);    assert(hash);    index  = MOD(str_hash(key), hash->len);    bucket = &hash->buckets[index];    if (!bucket->list)        return -1;    p = &bucket->list;    do {        q = (*p)->next;        if (str_equal((*p)->key, key)) {            FREE(*p);            *p   = q;            flag = 1;            break;        }        p = &(*p)->next;    } while (q);    return flag? 0 : -1;}
开发者ID:hongwozai,项目名称:emms,代码行数:27,


示例7: Shash_insert

int Shash_insert(T *hash, char *key, void *value){    int index;    NODE_T *real, *p;    BUCKET_T *bucket;    assert(key);    assert(hash);    if (!ALLOC(real, hash->size + sizeof(NODE_T))) {        return -1;    }    if (!ALLOC(real->key, strlen(key) + 1)) {        FREE(real);        return -1;    }    strcpy(real->key, key);    memcpy((char*)real + sizeof(NODE_T), value, hash->size);    index = MOD(str_hash(key), hash->len);    bucket = &hash->buckets[index];    p = bucket->list;    real->next  = p;    bucket->list = real;    return 0;}
开发者ID:hongwozai,项目名称:emms,代码行数:26,


示例8: find_node

void *sumproduct_sumproductalgorithm(void *arglist){	void *argptr, *argptr2, *xptr;	hgph *graph;	nodes *root;	char *userinputroot;	//Get previous hgph struct	if(dynamic_getarg(arglist,"hgph",&argptr)=='f') return NULL;	if(!invalidptr(E,argptr)) graph=(hgph *) argptr;	//Get user input on root node	if(dynamic_getarg(arglist,"root",&argptr2)=='f') return NULL;	if(!invalidptr(E,argptr)) userinputroot=(char *) argptr2;	//Get Xptr	if(dynamic_getarg(arglist,"xclient",&xptr)=='f') return NULL;	//Choose the root node	root = find_node(str_hash(userinputroot),graph->nnodes,graph->nodelist);	//Call the recursion step	forwardtraverse(root,root,graph);	backwardtraverse(root,root,graph);	calculatemarginals(graph);	printtoclient("Sum Product Successful", xptr);	writeresultstofile(graph, xptr);	//Return arglist	arglist=NULL;	dynamic_putarg("graph.hgph","hgph",(void *)graph,SZ,&arglist);	return arglist;}
开发者ID:limjix,项目名称:iScope,代码行数:34,


示例9: LM_ERR

struct rtpp_node *rtpengine_hash_table_lookup(str callid, str viabranch, enum rtpe_operation op) {	struct rtpengine_hash_entry *entry, *last_entry;	unsigned int hash_index;	struct rtpp_node *node;	// sanity checks	if (!rtpengine_hash_table_sanity_checks()) {		LM_ERR("sanity checks failed/n");		return 0;	}	// get first entry from entry list; jump over unused list head	hash_index = str_hash(callid);	entry = rtpengine_hash_table->row_entry_list[hash_index];	last_entry = entry;	// lock	if (rtpengine_hash_table->row_locks[hash_index]) {		lock_get(rtpengine_hash_table->row_locks[hash_index]);	} else {		LM_ERR("NULL rtpengine_hash_table->row_locks[%d]/n", hash_index);		return 0;	}	while (entry) {		// if callid found, return entry		if ((str_equal(entry->callid, callid) && str_equal(entry->viabranch, viabranch)) ||		    (str_equal(entry->callid, callid) && viabranch.len == 0 && op == OP_DELETE)) {			node = entry->node;			// unlock			lock_release(rtpengine_hash_table->row_locks[hash_index]);			return node;		}		// if expired entry discovered, delete it		if (entry->tout < get_ticks()) {			// set pointers; exclude entry			last_entry->next = entry->next;			// free current entry; entry points to unknown			rtpengine_hash_table_free_entry(entry);			// set pointers			entry = last_entry;			// update total			rtpengine_hash_table->row_totals[hash_index]--;		}		last_entry = entry;		entry = entry->next;	}	// unlock	lock_release(rtpengine_hash_table->row_locks[hash_index]);	return NULL;}
开发者ID:GreenfieldTech,项目名称:kamailio,代码行数:60,


示例10: xchat_list_time

time_t xchat_list_time(xchat_plugin *ph, xchat_list *xlist, const char *name){	unsigned int hash = str_hash(name);	void* data;	switch (xlist->type)	{	case LIST_NOTIFY:		if (!xlist->notifyps)			return (time_t)-1;		switch (hash)		{		case 0x1ad6f:	// off			return xlist->notifyps->lastoff;		case 0xddf:	// on			return xlist->notifyps->laston;		case 0x35ce7b:	// seen			return xlist->notifyps->lastseen;		}		break;	case LIST_USERS:		data = xlist->pos->data;		switch (hash)		{		case 0xa9118c42:	// lasttalk			return ((User*)data)->lasttalk;		}	}	return (time_t)-1;}
开发者ID:wowzaman12,项目名称:libPChat,代码行数:32,


示例11: hexchat_list_time

time_thexchat_list_time (hexchat_plugin *ph, hexchat_list *xlist, const char *name){	guint32 hash = str_hash (name);	gpointer data;	switch (xlist->type)	{	case LIST_NOTIFY:		if (!xlist->notifyps)			return (time_t) -1;		switch (hash)		{		case 0x1ad6f:	/* off */			return xlist->notifyps->lastoff;		case 0xddf:	/* on */			return xlist->notifyps->laston;		case 0x35ce7b:	/* seen */			return xlist->notifyps->lastseen;		}		break;	case LIST_USERS:		data = xlist->pos->data;		switch (hash)		{		case 0xa9118c42:	/* lasttalk */			return ((struct User *)data)->lasttalk;		}	}	return (time_t) -1;}
开发者ID:IotaSpencer,项目名称:hexchat,代码行数:33,


示例12: CODE_POINT

void ProfilerTest::test_code_point() {    CodePoint cp = CODE_POINT("my_tag");    unsigned int line_save = __LINE__;    EXPECT_EQ("my_tag", cp.tag_);    EXPECT_EQ( str_hash("my_tag", PROFILER_HASH_DEFAULT), cp.hash_);    EXPECT_EQ( line_save, cp.line_ );    //EXPECT_EQ(string("(profiler_test.cpp, xxx(), 130)"), string(CODE_POINT) );}
开发者ID:jbrezmorf,项目名称:flow123d,代码行数:7,


示例13: TEST

TEST(Profiler, CodePoint) {    CodePoint cp = CODE_POINT("my_tag");    unsigned int line_save = __LINE__;    EXPECT_EQ("my_tag", cp.tag_);    EXPECT_EQ( str_hash("my_tag"), cp.hash_);    EXPECT_EQ( line_save, cp.line_ );    //EXPECT_EQ(string("(profiler_test.cpp, xxx(), 130)"), string(CODE_POINT) );}
开发者ID:jstebel,项目名称:flow123d,代码行数:7,


示例14: str_hash

static SSL_CTX *hash_table_lookup(char *key_file, time_t *pmtime){   int level, split;   uint32_t hash = str_hash(key_file);   size_t bucket;   struct bucket *el;   split = ht.split;   level = ht.level;   bucket = hash & ((1 << level) - 1);   if (bucket < split)      bucket = hash & ((1 << (level + 1)) - 1);   el = ht.buckets[bucket];   while (el != NULL) {      if (el->hash == hash && strcmp(el->key_file, key_file) == 0) {	 *pmtime = el->mtime;	 return el->ssl_ctx;      }      el = el->next;   }   return NULL;}
开发者ID:anwars99,项目名称:ejabberd,代码行数:25,


示例15: str_nappend

//-----------------------------------------------------------------------------void str_nappend(Str *dst, char *val, int n){	dst->val = realloc(dst->val, dst->len + n + 1);	strncpy(dst->val + dst->len, val, n);	dst->len = dst->len + n;	dst->val[dst->len] = 0;	dst->hash = str_hash(dst->val, dst->len);}
开发者ID:pmurias,项目名称:Commander-Luke,代码行数:9,


示例16: str_nset

//-----------------------------------------------------------------------------inline void str_nset(Str *str, char *val, int n){	str->len = n;	str->val = realloc(str->val, str->len + 1);	strncpy(str->val, val, n);	str->val[str->len] = 0;	str->hash = str_hash(str->val, str->len);}
开发者ID:pmurias,项目名称:Commander-Luke,代码行数:9,


示例17: hash_combine

std::size_t URatPSeriesFlint::__hash__() const {    std::hash<std::string> str_hash;    std::size_t seed = URATPSERIESFLINT;    hash_combine(seed, var_);    hash_combine(seed, degree_);    hash_combine(seed, str_hash(p_.to_string()));    return seed;}
开发者ID:SHIVAPRASAD96,项目名称:symengine,代码行数:8,


示例18: malloc

UtilString *util_str_create(char *buff){	UtilString *ret = malloc(sizeof(UtilString));	ret->hash = str_hash(buff);	ret->len = strlen(buff);	ret->buff = buff;	return ret;}
开发者ID:LaCucuracha,项目名称:libvob-c,代码行数:8,


示例19: str_hash

unsigned int DiskMultiMap::getHash(std::string s){    std::hash<std::string> str_hash;        headerNode head;    m_bf.read(head, 0);        return str_hash(s) % head.m_numBuckets;}
开发者ID:mattwong949,项目名称:CS32-Project-4,代码行数:9,


示例20: str_dict_delete

void str_dict_delete(struct dict * h, char * key) {  if (str_lookup(h, key)) {    // Key has to exist to be deleted    struct dict_entry * entry = NULL, * temp = NULL;    if ((entry = h -> hashtab[str_hash(h, key)]) && (h -> hashtab[str_hash(h, key)]) -> key == key) {      // First element in the hashtab      h -> hashtab[str_hash(h, key)] = entry -> next;      return;    }    for (entry = (h -> hashtab[str_hash(h, key)]); entry -> next != NULL; entry = entry -> next) {      if (entry -> next -> key == key) {        temp = entry -> next;        // Found the entry: delete it        entry -> next = temp -> next;      }    }  }}
开发者ID:cconklin,项目名称:iridium,代码行数:18,


示例21: str_lookup

struct dict_entry * str_lookup(struct dict * h, char * key) {  // Find the str_dict_entry element corresponding to a key  // Return NULL if key not present  struct dict_entry * entry ;  for (entry = (h -> hashtab[str_hash(h, key)]); entry != NULL; entry = entry -> next)    if (! strcmp(key, entry -> key))      return entry; // Found the entry with key: key  return NULL; // No entries found}
开发者ID:cconklin,项目名称:iridium,代码行数:9,


示例22: arrays_init

// Initialisation de l'objet built-in stringObject* arrays_init(Exec_context* ec_obj) {    // Création de l'objet    Object* o = var_new_object(NULL);    (void)ec_obj;    // Définition du type    o->name = "arrays";    o->name_h = str_hash(o->name);    // Ajout des fonctions    Variable* v = var_new("array", str_hash("array"), T_FUNCTION_BUILTIN);    v->value.v_func_builtin = arrays_array;    v->container = &o->ec; v->container->object = o;    linked_list_push(&(o->ec.variables), LLT_VARIABLE, (void*)v);    return o;}
开发者ID:Vuzi,项目名称:vuziks,代码行数:19,


示例23: str_hash

void Response::setUID(){	std::istringstream convert;	std::hash<std::string> str_hash;	std::time_t timeNow = std::time(NULL);	convert >> timeNow;	content += convert.str();	uid = str_hash(content);}
开发者ID:Durendal,项目名称:webBotC,代码行数:9,


示例24: dbpriv_new_propdef

Propdefdbpriv_new_propdef(const char *name){    Propdef newprop;    newprop.name = str_ref(name);    newprop.hash = str_hash(name);    return newprop;}
开发者ID:EnderRealm,项目名称:c-lambdamoo-server,代码行数:9,


示例25: hash_combine

std::size_t URatPolyFlint::__hash__() const{    std::hash<std::string> str_hash;    std::size_t seed = URATPOLYFLINT;    seed += var_->hash();    hash_combine(seed, str_hash(poly_.to_string()));    return seed;}
开发者ID:VaibhavAgarwalVA,项目名称:symengine,代码行数:9,


示例26: EXPECT_EQ

void ProfilerTest::test_str_hash() {    EXPECT_EQ(0, str_hash("", PROFILER_HASH_DEFAULT));    EXPECT_EQ(65, str_hash("A", PROFILER_HASH_DEFAULT));    EXPECT_EQ(6597, str_hash(" A", PROFILER_HASH_DEFAULT));    srand ( time(NULL) );    char a[16];    char b[16];    // random test for hash collision    unsigned int n_pairs=100;    for(unsigned int i=0; i<n_pairs; i++) {        random_string(a);        random_string(b);        if (string(a) != string(b) )            EXPECT_NE( str_hash(a, PROFILER_HASH_DEFAULT) , str_hash(b, PROFILER_HASH_DEFAULT) );    }}
开发者ID:jbrezmorf,项目名称:flow123d,代码行数:18,


示例27: sb_hash

String sb_hash(const String& str){  // Get the filename hash  std::hash<String> str_hash;  std::size_t hash = str_hash(str);    // Convert the hash to a string :(  std::ostringstream ss;  ss << hash;  return ss.str();}
开发者ID:Acorld,项目名称:WinObjC-Heading,代码行数:11,



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


C++ str_init函数代码示例
C++ str_getbuf函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。