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

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

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

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

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

示例1: makeEiffelFeatureTag

static void makeEiffelFeatureTag (tokenInfo *const token){	if (EiffelKinds [EKIND_FEATURE].enabled  &&		(token->isExported  ||  isXtagEnabled(XTAG_FILE_SCOPE)))	{		const char *const name = vStringValue (token->string);		tagEntryInfo e;		initTagEntry (&e, name, &(EiffelKinds [EKIND_FEATURE]));		e.isFileScope = (boolean) (! token->isExported);		if (e.isFileScope)			markTagExtraBit (&e, XTAG_FILE_SCOPE);		e.extensionFields.scopeKind = &(EiffelKinds [EKIND_CLASS]);		e.extensionFields.scopeName = vStringValue (token->className);		makeTagEntry (&e);		if (isXtagEnabled(XTAG_QUALIFIED_TAGS))		{			vString* qualified = vStringNewInit (vStringValue (token->className));			vStringPut (qualified, '.');			vStringCat (qualified, token->string);			e.name = vStringValue (qualified);			markTagExtraBit (&e, XTAG_QUALIFIED_TAGS);			makeTagEntry (&e);			vStringDelete (qualified);		}	}	vStringCopy (token->featureName, token->string);}
开发者ID:amosbird,项目名称:ctags,代码行数:31,


示例2: makeEiffelFeatureTag

static void makeEiffelFeatureTag (tokenInfo *const token){    if (EiffelKinds [EKIND_FEATURE].enabled  &&            (token->isExported  ||  Option.include.fileScope))    {        const char *const name = vStringValue (token->string);        tagEntryInfo e;        initTagEntry (&e, name);        e.isFileScope = (boolean) (! token->isExported);        e.kindName    = EiffelKinds [EKIND_FEATURE].name;        e.kind        = EiffelKinds [EKIND_FEATURE].letter;        e.extensionFields.scope [0] = EiffelKinds [EKIND_CLASS].name;        e.extensionFields.scope [1] = vStringValue (token->className);        makeTagEntry (&e);        if (Option.include.qualifiedTags)        {            vString* qualified = vStringNewInit (vStringValue (token->className));            vStringPut (qualified, '.');            vStringCat (qualified, token->string);            e.name = vStringValue (qualified);            makeTagEntry (&e);            vStringDelete (qualified);        }    }    vStringCopy (token->featureName, token->string);}
开发者ID:Figoer,项目名称:i_figoer,代码行数:30,


示例3: recurseUsingOpendir

static boolean recurseUsingOpendir (const char *const dirName){    boolean resize = FALSE;    DIR *const dir = opendir (dirName);    if (dir == NULL)	error (WARNING | PERROR, "cannot recurse into directory /"%s/"", dirName);    else    {	struct dirent *entry;	while ((entry = readdir (dir)) != NULL)	{	    if (strcmp (entry->d_name, ".") != 0  &&		strcmp (entry->d_name, "..") != 0)	    {		vString *filePath;		if (strcmp (dirName, ".") == 0)		    filePath = vStringNewInit (entry->d_name);		else		    filePath = combinePathAndFile (dirName, entry->d_name);		resize |= createTagsForEntry (vStringValue (filePath));		vStringDelete (filePath);	    }	}	closedir (dir);    }    return resize;}
开发者ID:att,项目名称:uwin,代码行数:27,


示例4: dropContext

static void dropContext (tokenInfo *const token){	verbose ("current context %s; context kind %0d; nest level %0d/n", vStringValue (currentContext->name), currentContext->kind, currentContext->nestLevel);	vString *endTokenName = vStringNewInit("end");	if ((currentContext->kind == K_COVERGROUP && strcmp (vStringValue (token->name), "endgroup") == 0) ||	    (currentContext->kind == K_BLOCK && currentContext->nestLevel == 0 && strcmp (vStringValue (token->name), vStringValue (endTokenName)) == 0)	    )	{		verbose ("Dropping context %s/n", vStringValue (currentContext->name));		currentContext = popToken (currentContext);	}	else	{		vStringCatS (endTokenName, kindFromKind (currentContext->kind)->name);		if (strcmp (vStringValue (token->name), vStringValue (endTokenName)) == 0)		{			verbose ("Dropping context %s/n", vStringValue (currentContext->name));			currentContext = popToken (currentContext);			if (currentContext->classScope)			{				verbose ("Dropping local context %s/n", vStringValue (currentContext->name));				currentContext = popToken (currentContext);			}		}	}	vStringDelete(endTokenName);}
开发者ID:Luoben,项目名称:ctags,代码行数:27,


示例5: addLanguageExtensionMap

extern void addLanguageExtensionMap (	const langType language, const char* extension){    vString* const str = vStringNewInit (extension);    Assert (0 <= language  &&  language < (int) LanguageCount);    stringListAdd (LanguageTable [language]->currentExtensions, str);}
开发者ID:att,项目名称:uwin,代码行数:7,


示例6: addLanguagePatternMap

extern void addLanguagePatternMap (const langType language, const char* ptrn){    vString* const str = vStringNewInit (ptrn);    Assert (0 <= language  &&  language < (int) LanguageCount);    if (LanguageTable [language]->currentPatterns == NULL)	LanguageTable [language]->currentPatterns = stringListNew ();    stringListAdd (LanguageTable [language]->currentPatterns, str);}
开发者ID:att,项目名称:uwin,代码行数:8,


示例7: addLanguageAlias

extern void addLanguageAlias (const langType language, const char* alias){	vString* const str = vStringNewInit (alias);	parserDefinition* lang;	Assert (0 <= language  &&  language < (int) LanguageCount);	lang = LanguageTable [language];	if (lang->currentAliaes == NULL)		lang->currentAliaes = stringListNew ();	stringListAdd (lang->currentAliaes, str);}
开发者ID:b4n,项目名称:fishman-ctags,代码行数:10,


示例8: addLanguagePatternMap

extern void addLanguagePatternMap (const langType language, const char* ptrn){	vString* const str = vStringNewInit (ptrn);	parserDefinition* lang;	Assert (0 <= language  &&  language < (int) LanguageCount);	lang = LanguageTable [language];	if (lang->currentPatterns == NULL)		lang->currentPatterns = stringListNew ();	stringListAdd (lang->currentPatterns, str);}
开发者ID:FelikZ,项目名称:ctags,代码行数:10,


示例9: processEtagsInclude

static void processEtagsInclude (		const char *const option, const char *const parameter){	if (! Option.etags)		error (FATAL, "Etags must be enabled to use /"%s/" option", option);	else	{		vString *const file = vStringNewInit (parameter);		if (Option.etagsInclude == NULL)			Option.etagsInclude = stringListNew ();		stringListAdd (Option.etagsInclude, file);		FilesRequired = FALSE;	}}
开发者ID:abderrahim,项目名称:anjuta,代码行数:14,


示例10: determineZshAutoloadTag

static vString* determineZshAutoloadTag (const char *const modeline){	/* See "Autoloaded files" in zsh info.	   -------------------------------------	   #compdef ...	   #autoload [ OPTIONS ] */	if (((strncmp (modeline, "#compdef", 8) == 0) && isspace (*(modeline + 8)))	    || ((strncmp (modeline, "#autoload", 9) == 0)		&& (isspace (*(modeline + 9)) || *(modeline + 9) == '/0')))		return vStringNewInit ("zsh");	else		return NULL;}
开发者ID:relaxdiego,项目名称:ctags,代码行数:14,


示例11: plistFindTagsUnderKey

static void plistFindTagsUnderKey (xmlNode *node,				   const struct sTagXpathRecurSpec *spec,				   xmlXPathContext *ctx,				   void *userData){	xmlNode *current;	xmlNode *prev;	stringList *queue;	vString* path;	vString* v;	int c;	queue = stringListNew ();	current = node;	for (current = node; current; current = current->parent)	{		if (isCompoundElement (current)		    && (prev = getPrevKeyElement (current)))		{			char* parent = (char *)xmlNodeGetContent (prev);			if (parent)			{				v = vStringNewInit (parent);				stringListAdd (queue, v);				xmlFree (parent);			}		}	}	path = vStringNew ();	while ((c = stringListCount (queue)) > 0)	{		v = stringListLast (queue);		vStringCat (path, v);		vStringDelete (v);		stringListRemoveLast (queue);		if (c != 1)			vStringPut (path, '.');	}	stringListDelete (queue);	findXMLTags (ctx, node,		     plistXpathTableTable + TABLE_TEXT,		     PlistKinds,		     (vStringLength (path) > 0)? vStringValue (path): NULL);	vStringDelete (path);}
开发者ID:amosbird,项目名称:ctags,代码行数:48,


示例12: setInputFileName

static void setInputFileName (const char *const fileName){	const char *const head = fileName;	const char *const tail = baseFilename (head);	if (File.name != NULL)		vStringDelete (File.name);	File.name = vStringNewInit (fileName);	if (File.path != NULL)		vStringDelete (File.path);	if (tail == head)		File.path = NULL;	else	{		const size_t length = tail - head - 1;		File.path = vStringNew ();		vStringNCopyS (File.path, fileName, length);	}}
开发者ID:ajitvin,项目名称:v,代码行数:20,


示例13: addExtensionList

static void addExtensionList (		stringList *const slist, const char *const elist, const boolean clear){	char *const extensionList = eStrdup (elist);	const char *extension = NULL;	boolean first = TRUE;	if (clear)	{		verbose ("      clearing/n");		stringListClear (slist);	}	verbose ("      adding: ");	if (elist != NULL  &&  *elist != '/0')	{		extension = extensionList;		if (elist [0] == EXTENSION_SEPARATOR)			++extension;	}	while (extension != NULL)	{		char *separator = strchr (extension, EXTENSION_SEPARATOR);		if (separator != NULL)			*separator = '/0';		verbose ("%s%s", first ? "" : ", ",				*extension == '/0' ? "(NONE)" : extension);		stringListAdd (slist, vStringNewInit (extension));		first = FALSE;		if (separator == NULL)			extension = NULL;		else			extension = separator + 1;	}	if (Option.verbose)	{		printf ("/n      now: ");		stringListPrint (slist);		putchar ('/n');	}	eFree (extensionList);}
开发者ID:abderrahim,项目名称:anjuta,代码行数:41,


示例14: createTagsForWildcardArg

static boolean createTagsForWildcardArg (const char *const arg){	boolean resize = FALSE;	vString *const pattern = vStringNewInit (arg);	char *patternS = vStringValue (pattern);#if defined (HAVE_FINDFIRST) || defined (HAVE__FINDFIRST)	/*  We must transform the "." and ".." forms into something that can	 *  be expanded by the findfirst/_findfirst functions.	 */	if (Option.recurse  &&		(strcmp (patternS, ".") == 0  ||  strcmp (patternS, "..") == 0))	{		vStringPut (pattern, OUTPUT_PATH_SEPARATOR);		vStringCatS (pattern, "*.*");	}	resize |= createTagsForWildcardUsingFindfirst (patternS);#endif	vStringDelete (pattern);	return resize;}
开发者ID:koron,项目名称:ctags,代码行数:21,


示例15: addCorpusFile

extern void addCorpusFile (const langType language,			   const char* const spec, vString* const corpus_file, boolean pattern_p){	FILE *input;	unsigned char* tg_table;	vString* vspec;	input = fopen (vStringValue (corpus_file), "rb");	if (input == NULL)		error (FATAL,		       "failed in open %s as corpus", vStringValue (corpus_file));	tg_table = tg_create ();	if (!tg_table)		error (FATAL,		       "failed allocating memory for tg entry");	tg_load (tg_table, input);	fclose (input);	vspec = pattern_p? vStringNewInit (spec): ext2ptrnNew (spec);	addTgEntryFull (language, vspec, tg_table, corpus_file);}
开发者ID:b4n,项目名称:fishman-ctags,代码行数:23,


示例16: loadPathKind

static boolean loadPathKind (xcmdPath *const path, char* line, char *args[]){	const char* backup = line;	char* off;	vString *desc;	kindOption *kind;	if (line[0] == '/0')		return FALSE;	else if (!isblank(line[1]))	{		error (WARNING, "[%s] a space after letter is not found in kind description line: %s", args[0], backup);		return FALSE;	}	path->kinds = xRealloc (path->kinds, path->n_kinds + 1, kindOption);	kind = &path->kinds [path->n_kinds];	memset (kind, 0, sizeof (*kind));	kind->enabled = TRUE;	kind->letter = line[0];	kind->name = NULL;	kind->description = NULL;	kind->referenceOnly = FALSE;	kind->nRoles = 0;	kind->roles = NULL;	verbose ("	kind letter: <%c>/n", kind->letter);	for (line++; isblank(*line); line++)		;		/* do nothing */	if (*line == '/0')	{		error (WARNING, "[%s] unexpectedly a kind description line is terminated: %s",		       args[0], backup);		return FALSE;	}	Assert (!isblank (*line));	off = strrstr(line, "[off]");	if (off == line)	{		error (WARNING, "[%s] [off] is given but no kind description is found: %s",		       args[0], backup);		return FALSE;	}	else if (off)	{		if (!isblank (*(off - 1)))		{			error (WARNING, "[%s] a whitespace must precede [off] flag: %s",			       args[0], backup);			return FALSE;		}		kind->enabled = FALSE;		*off = '/0';	}	desc = vStringNewInit (line);	vStringStripTrailing (desc);	Assert (vStringLength (desc) > 0);	kind->description = vStringDeleteUnwrap (desc);	/* TODO: This conversion should be part of protocol. */	{	  char *tmp = eStrdup (kind->description);	  char *c;	  for (c = tmp; *c != '/0'; c++)	    {	      if (*c == ' ' || *c == '/t')		*c = '_';	    }	  kind->name = tmp;	}	path->n_kinds += 1;	return TRUE;}
开发者ID:amosbird,项目名称:ctags,代码行数:80,


示例17: enterUnnamedScope

static void enterUnnamedScope (void){    stringListAdd (nesting, vStringNewInit (""));}
开发者ID:jsvisa,项目名称:ctags,代码行数:4,


示例18: loadPathKinds

static boolean loadPathKinds  (xcmdPath *const path, const langType language){	enum pcoproc_error r;	FILE* pp = NULL;	char * argv[3];	int status;	vString * opt;	opt = vStringNewInit(XCMD_LIST_KIND_OPTION);	vStringCatS (opt, "=");	vStringCatS (opt, getLanguageName(language));	argv[2] = NULL;	argv[1] = vStringValue (opt);	argv[0] = vStringValue (path->path);	errno = 0;	verbose ("loading path kinds of %s from [%s %s]/n", getLanguageName(language), argv[0], argv[1]);	r = pcoproc_open (vStringValue (path->path), argv, &pp, NULL);	switch (r) {	case PCOPROC_ERROR_WPIPE:		error (WARNING | PERROR, "failed to make pipe to write to command: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_ERROR_RPIPE:		error (WARNING | PERROR, "failed to make pipe to read from command: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_ERROR_FORK:		error (WARNING | PERROR, "failed to do fork: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_SUCCESSFUL:		break;	}	if (pp)	{		vString* vline = vStringNew();		while (readLineWithNoSeek (vline, pp))		{			char* line;			vStringStripNewline (vline);			line = vStringValue (vline);			if (!loadPathKind (path, line, argv))				break;		}		vStringDelete (vline);		status = pcoproc_close (pp);		/* TODO: Decode status */		verbose("	status: %d/n", status);		if (status != 0)		{			if (status > 0 			    && WIFEXITED (status) 			    && (WEXITSTATUS (status) == XCMD_NOT_AVAILABLE_STATUS))				notice ("xcmd recognizes %s is not available", argv[0]);			else				error (WARNING, "xcmd exits abnormally status(%d): [%s %s]",				       status, argv[0], argv[1]);			vStringDelete (opt);			return FALSE;		}	}	else	{		error (WARNING | PERROR, "cannot make pipe to xcmd: [%s %s]",		       argv[0], argv[1]);	}	vStringDelete (opt);	return path->kinds == NULL? FALSE: TRUE;}
开发者ID:NIMBIT,项目名称:ctags,代码行数:80,


示例19: loadPathKinds

static boolean loadPathKinds  (xcmdPath *const path, const langType language){	enum pcoprocError r;	FILE* pp = NULL;	char * argv[3];	int status;	vString * opt;	char file_kind = getLanguageFileKind (language)->letter;	opt = vStringNewInit(XCMD_LIST_KIND_OPTION);	vStringCatS (opt, "=");	vStringCatS (opt, getLanguageName(language));	argv[2] = NULL;	argv[1] = vStringValue (opt);	argv[0] = vStringValue (path->path);	errno = 0;	if (getuid() == 0 || geteuid() == 0)	{		verbose ("all xcmd feature is disabled when running ctags in root privilege/n");		vStringDelete (opt);		return FALSE;	}	if (! isSafeExecutable (argv [0]))	{		vStringDelete (opt);		return FALSE;	}	verbose ("loading path kinds of %s from [%s %s]/n", getLanguageName(language), argv[0], argv[1]);	r = pcoprocOpen (vStringValue (path->path), argv, &pp, NULL);	switch (r) {	case PCOPROC_ERROR_WPIPE:		error (WARNING | PERROR, "failed to make pipe to write to command: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_ERROR_RPIPE:		error (WARNING | PERROR, "failed to make pipe to read from command: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_ERROR_FORK:		error (WARNING | PERROR, "failed to do fork: [%s %s]",		       argv[0], argv[1]);		break;	case PCOPROC_SUCCESSFUL:		break;	}	if (pp)	{		vString* vline = vStringNew();		while (readLineRawWithNoSeek (vline, pp))		{			char* line;			char  kind_letter;			vStringStripNewline (vline);			line = vStringValue (vline);			if (!loadPathKind (path, line, argv))				break;			kind_letter = path->kinds [path->n_kinds - 1].letter;			if (kind_letter == file_kind)				error (FATAL,				       "Kind letter /'%c/' returned from xcmd %s of %s language is reserved in ctags main",				       kind_letter,				       vStringValue (path->path),				       getLanguageName (language));		}		vStringDelete (vline);		status = pcoprocClose (pp);		/* TODO: Decode status */		verbose("	status: %d/n", status);		if (status != 0)		{			if (status > 0			    && WIFEXITED (status)			    && (WEXITSTATUS (status) == path->not_available_status))				verbose ("xcmd: the %s backend is not available/n", argv[0]);			else				error (WARNING, "xcmd exits abnormally status(%d): [%s %s]",				       status, argv[0], argv[1]);			vStringDelete (opt);			return FALSE;		}	}	else	{		error (WARNING | PERROR, "cannot make pipe to xcmd: [%s %s]",		       argv[0], argv[1]);	}	vStringDelete (opt);//.........这里部分代码省略.........
开发者ID:amosbird,项目名称:ctags,代码行数:101,


示例20: ext2ptrnNew

static vString* ext2ptrnNew (const char *const ext){	vString * ptrn = vStringNewInit ("*.");	vStringCatS (ptrn, ext);	return ptrn;}
开发者ID:heilage-nsk,项目名称:configs,代码行数:6,


示例21: addTgEntryForPattern

extern void addTgEntryForPattern (const langType language, const char* const ptrn, unsigned char* const tg_table){	addTgEntryFull (language, vStringNewInit (ptrn), tg_table, NULL);}
开发者ID:b4n,项目名称:fishman-ctags,代码行数:4,


示例22: cxxTagCommit

void cxxTagCommit(void){	if(g_oCXXTag.isFileScope)	{		if (isXtagEnabled(XTAG_FILE_SCOPE))			markTagExtraBit (&g_oCXXTag, XTAG_FILE_SCOPE);		else			return;	}	CXX_DEBUG_PRINT(			"Emitting tag for symbol '%s', kind '%s', line %d",			g_oCXXTag.name,			g_oCXXTag.kind->name,			g_oCXXTag.lineNumber		);	if(			g_oCXXTag.extensionFields.typeRef[0] &&			g_oCXXTag.extensionFields.typeRef[1]		)		CXX_DEBUG_PRINT(				"Tag has typeref %s %s",				g_oCXXTag.extensionFields.typeRef[0],				g_oCXXTag.extensionFields.typeRef[1]			);	makeTagEntry(&g_oCXXTag);	// Handle --extra=+q	if(!isXtagEnabled(XTAG_QUALIFIED_TAGS))		return;	else		markTagExtraBit (&g_oCXXTag, XTAG_QUALIFIED_TAGS);	if(!g_oCXXTag.extensionFields.scopeName)		return;	// WARNING: The following code assumes that the scope	// didn't change between cxxTagBegin() and cxxTagCommit().	enum CXXTagKind eScopeKind = cxxScopeGetKind();	if(eScopeKind == CXXTagKindFUNCTION)	{		// old ctags didn't do this, and --extra=+q is mainly		// for backward compatibility so...		return;	}	// Same tag. Only the name changes.	vString * x;	if(eScopeKind == CXXTagKindENUM)	{		// If the scope kind is enumeration then we need to remove the		// last scope part. This is what old ctags did.		if(cxxScopeGetSize() < 2)			return; // toplevel enum		x = cxxScopeGetFullNameExceptLastComponentAsString();		CXX_DEBUG_ASSERT(x,"Scope with size >= 2 should have returned a value here");	} else {		x = vStringNewInit(g_oCXXTag.extensionFields.scopeName);	}	vStringCatS(x,"::");	vStringCatS(x,g_oCXXTag.name);	g_oCXXTag.name = vStringValue(x);	CXX_DEBUG_PRINT(			"Emitting extra tag for symbol '%s', kind '%s', line %d",			g_oCXXTag.name,			g_oCXXTag.kind->name,			g_oCXXTag.lineNumber		);	makeTagEntry(&g_oCXXTag);	vStringDelete(x);}
开发者ID:matthewvilim,项目名称:ctags,代码行数:82,



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


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