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

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

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

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

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

示例1: makeFunctionTag

static void makeFunctionTag (tokenInfo *const token){ 	vString *	fulltag;	if ( ! token->ignoreTag )	{		fulltag = vStringNew ();		if (vStringLength (token->scope) > 0)		{			vStringCopy(fulltag, token->scope);			vStringCatS (fulltag, ".");			vStringCatS (fulltag, vStringValue(token->string));		}		else		{			vStringCopy(fulltag, token->string);		}		vStringTerminate(fulltag);		if ( ! stringListHas(FunctionNames, vStringValue (fulltag)) )		{			stringListAdd (FunctionNames, vStringNewCopy (fulltag));			makeJsTag (token, JSTAG_FUNCTION);		}		vStringDelete (fulltag);	}}
开发者ID:MihailZenkov,项目名称:geany,代码行数:26,


示例2: makeClassTag

static void makeClassTag (tokenInfo *const token, vString *const signature){	vString *	fulltag;	if ( ! token->ignoreTag )	{		fulltag = vStringNew ();		if (vStringLength (token->scope) > 0)		{			vStringCopy(fulltag, token->scope);			vStringCatS (fulltag, ".");			vStringCatS (fulltag, vStringValue(token->string));		}		else		{			vStringCopy(fulltag, token->string);		}		vStringTerminate(fulltag);		if ( ! stringListHas(ClassNames, vStringValue (fulltag)) )		{			stringListAdd (ClassNames, vStringNewCopy (fulltag));			makeJsTag (token, JSTAG_CLASS, signature);		}		vStringDelete (fulltag);	}}
开发者ID:BenWiederhake,项目名称:geany,代码行数:26,


示例3: copyToken

static void copyToken (tokenInfo *const dest, tokenInfo *const src){    dest->lineNumber = src->lineNumber;    dest->filePosition = src->filePosition;    dest->type = src->type;    dest->keyword = src->keyword;    vStringCopy (dest->string, src->string);    vStringCopy (dest->scope, src->scope);}
开发者ID:pasnox,项目名称:monkeystudio2,代码行数:9,


示例4: copyToken

static void copyToken (tokenInfo* dst, const tokenInfo *src){	dst->type       = src->type;	dst->keyword    = src->keyword;	dst->isExported = src->isExported;	vStringCopy (dst->string, src->string);	vStringCopy (dst->className, src->className);	vStringCopy (dst->featureName, src->featureName);}
开发者ID:amosbird,项目名称:ctags,代码行数:10,


示例5: copyToken

static void copyToken (tokenInfo *const dest, const tokenInfo *const src,					   bool scope){	dest->lineNumber = src->lineNumber;	dest->filePosition = src->filePosition;	dest->type = src->type;	vStringCopy (dest->string, src->string);	dest->parentKind = src->parentKind;	if (scope)		vStringCopy (dest->scope, src->scope);}
开发者ID:ParrotSec,项目名称:geany,代码行数:11,


示例6: copyToken

static void copyToken (tokenInfo *const dest, const tokenInfo *const src,                       boolean const include_non_read_info){	dest->lineNumber = src->lineNumber;	dest->filePosition = src->filePosition;	dest->type = src->type;	dest->keyword = src->keyword;	vStringCopy(dest->string, src->string);	if (include_non_read_info)	{		dest->nestLevel = src->nestLevel;		vStringCopy(dest->scope, src->scope);	}}
开发者ID:ruchee,项目名称:ctags,代码行数:14,


示例7: makeTagFromLeftSide

/* `end' points to the equal sign.  Parse from right to left to get the * identifier.  Assume we're dealing with something of form /s*/w+/s*=> */static void makeTagFromLeftSide (const char *begin, const char *end,	vString *name, vString *package){	tagEntryInfo entry;	const char *b, *e;	if (! PerlKinds[K_CONSTANT].enabled)		return;	for (e = end - 1; e > begin && isspace(*e); --e)		;	if (e < begin)		return;	for (b = e; b >= begin && isIdentifier(*b); --b)		;	/* Identifier must be either beginning of line of have some whitespace	 * on its left:	 */	if (b < begin || isspace(*b) || ',' == *b)		++b;	else if (b != begin)		return;	if (e - b + 1 <= 0)		return;			/* Left side of => has an invalid identifier. */	vStringClear(name);	vStringNCatS(name, b, e - b + 1);	initTagEntry(&entry, vStringValue(name), &(PerlKinds[K_CONSTANT]));	makeTagEntry(&entry);	if (Option.include.qualifiedTags && package && vStringLength(package)) {		vStringClear(name);		vStringCopy(name, package);		vStringNCatS(name, b, e - b + 1);		initTagEntry(&entry, vStringValue(name), &(PerlKinds[K_CONSTANT]));		makeTagEntry(&entry);	}}
开发者ID:relaxdiego,项目名称:ctags,代码行数:37,


示例8: vStringNew

static vString *parseNumeric (int c){    static vString *string = NULL;    if (string == NULL)        string = vStringNew ();    vStringCopy (string, parseInteger (c));    c = fileGetc ();    if (c == '.')    {        vStringPut (string, c);        vStringCat (string, parseInteger ('/0'));        c = fileGetc ();    }    if (tolower (c) == 'e')    {        vStringPut (string, c);        vStringCat (string, parseInteger ('/0'));    }    else if (!isspace (c))        fileUngetc (c);    vStringTerminate (string);    return string;}
开发者ID:Figoer,项目名称:i_figoer,代码行数:27,


示例9: makeEiffelLocalTag

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


示例10: vStringNew

static vString *parseNumeric (int c){	vString *string = vStringNew ();	vString *integer = parseInteger (c);	vStringCopy (string, integer);	vStringDelete (integer);	c = getcFromInputFile ();	if (c == '.')	{		integer = parseInteger ('/0');		vStringPut (string, c);		vStringCat (string, integer);		vStringDelete (integer);		c = getcFromInputFile ();	}	if (tolower (c) == 'e')	{		integer = parseInteger ('/0');		vStringPut (string, c);		vStringCat (string, integer);		vStringDelete (integer);	}	else if (!isspace (c))		ungetcToInputFile (c);	vStringTerminate (string);	return string;}
开发者ID:amosbird,项目名称:ctags,代码行数:30,


示例11: parseFields

static void parseFields (vString * const ident, objcToken what){	switch (what)	{	case Tok_CurlR:		toDoNext = &parseMethods;		break;	case Tok_SQUAREL:	case Tok_PARL:		toDoNext = &ignoreBalanced;		comeAfter = &parseFields;		break;		/* we got an identifier, keep track of it */	case ObjcIDENTIFIER:		vStringCopy (tempName, ident);		break;		/* our last kept identifier must be our variable name =) */	case Tok_semi:		addTag (tempName, K_FIELD);		vStringClear (tempName);		break;	default:		/* NOTHING */		break;	}}
开发者ID:simlrh,项目名称:ctags,代码行数:30,


示例12: parseClass

static void parseClass (tokenInfo *const token){	Assert (isKeyword (token, KEYWORD_class));	readToken (token);	if (isType (token, TOKEN_IDENTIFIER))	{#ifndef TYPE_REFERENCE_TOOL		makeEiffelClassTag (token);		readToken (token);#else		vStringCopy (token->className, token->string);		vStringUpper (token->className);		if (PrintClass)			puts (vStringValue (token->className));		if (! PrintReferences)			exit (0);		readToken (token);#endif	}	do	{		if (isType (token, TOKEN_OPEN_BRACKET))			parseGeneric (token, TRUE);		else if (! isType (token, TOKEN_KEYWORD))			readToken (token);		else switch (token->keyword)		{			case KEYWORD_inherit:  parseInherit (token);        break;			case KEYWORD_feature:  parseFeatureClauses (token); break;			default:               readToken (token);           break;		}	} while (! isKeyword (token, KEYWORD_end));}
开发者ID:05storm26,项目名称:codelite,代码行数:34,


示例13: parseProperty

static void parseProperty (vString * const ident, objcToken what){	switch (what)	{	case Tok_PARL:		toDoNext = &tillToken;		comeAfter = &parseProperty;		waitedToken = Tok_PARR;		break;		/* we got an identifier, keep track of it */	case ObjcIDENTIFIER:		vStringCopy (tempName, ident);		break;		/* our last kept identifier must be our variable name =) */	case Tok_semi:		addTag (tempName, K_PROPERTY);		vStringClear (tempName);		toDoNext = &parseMethods;		break;	default:		break;	}}
开发者ID:simlrh,项目名称:ctags,代码行数:26,


示例14: makeTag

static void makeTag (tokenInfo *const token, const goKind kind){	const char *const name = vStringValue (token->string);	tagEntryInfo e;	initTagEntry (&e, name);	if (!GoKinds [kind].enabled)		return;	e.lineNumber = token->lineNumber;	e.filePosition = token->filePosition;	e.kindName = GoKinds [kind].name;	e.kind = GoKinds [kind].letter;	makeTagEntry (&e);	if (scope && Option.include.qualifiedTags)	{		vString *qualifiedName = vStringNew ();		vStringCopy (qualifiedName, scope);		vStringCatS (qualifiedName, ".");		vStringCat (qualifiedName, token->string);		e.name = vStringValue (qualifiedName);		makeTagEntry (&e);		vStringDelete (qualifiedName);	}}
开发者ID:Novator,项目名称:geany,代码行数:28,


示例15: parseTypedef

/* Parse something like * typedef .... ident ; * ignoring the defined type but in the case of struct, * in which case struct are parsed. */static void parseTypedef (vString * const ident, objcToken what){	switch (what)	{	case ObjcSTRUCT:		toDoNext = &parseStruct;		comeAfter = &parseTypedef;		break;	case ObjcENUM:		toDoNext = &parseEnum;		comeAfter = &parseTypedef;		break;	case ObjcIDENTIFIER:		vStringCopy (tempName, ident);		break;	case Tok_semi:	/* ';' */		addTag (tempName, K_TYPEDEF);		vStringClear (tempName);		toDoNext = &globalScope;		break;	default:		/* we don't care */		break;	}}
开发者ID:simlrh,项目名称:ctags,代码行数:34,


示例16: makeTag

static void makeTag (tokenInfo *const token, const goKind kind,	tokenInfo *const parent_token, const goKind parent_kind,	const char *argList){	const char *const name = vStringValue (token->string);	tagEntryInfo e;	initTagEntry (&e, name, &(GoKinds [kind]));	if (!GoKinds [kind].enabled)		return;	e.lineNumber = token->lineNumber;	e.filePosition = token->filePosition;	if (argList)		e.extensionFields.signature = argList;	if (parent_kind != GOTAG_UNDEFINED && parent_token != NULL)	{		e.extensionFields.scopeKind = &(GoKinds[parent_kind]);		e.extensionFields.scopeName = vStringValue (parent_token->string);	}	makeTagEntry (&e);	if (scope && isXtagEnabled(XTAG_QUALIFIED_TAGS))	{		vString *qualifiedName = vStringNew ();		vStringCopy (qualifiedName, scope);		vStringCatS (qualifiedName, ".");		vStringCat (qualifiedName, token->string);		e.name = vStringValue (qualifiedName);		makeTagEntry (&e);		vStringDelete (qualifiedName);	}}
开发者ID:acarlson1029,项目名称:ctags,代码行数:35,


示例17: 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,


示例18: 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,


示例19: parseModuleTag

static void parseModuleTag (const unsigned char *cp, vString *const module){	vString *const identifier = vStringNew ();	parseIdentifier (cp, identifier);	makeSimpleTag (identifier, ErlangKinds, K_MODULE);	/* All further entries go in the new module */	vStringCopy (module, identifier);	vStringDelete (identifier);}
开发者ID:simlrh,项目名称:ctags,代码行数:10,


示例20: findVerilogTags

static void findVerilogTags (void){	tokenInfo *const token = newToken ();	int c = '/0';	currentContext = newToken ();	while (c != EOF)	{		c = vGetc ();		c = skipWhite (c);		switch (c)		{			/* Store current block name whenever a : is found			 * This is used later by any tag type that requires this information			 * */			case ':':				vStringCopy (currentContext->blockName, token->name);				break;			/* Skip interface modport port declarations */			case '(':				if (currentContext && currentContext->lastKind == K_MODPORT)				{					skipPastMatch ("()");				}				break;			/* Drop context on prototypes because they don't have an end			 * statement */			case ';':				if (currentContext->scope && currentContext->scope->prototype)				{					verbose ("Dropping context %s/n", vStringValue (currentContext->name));					currentContext = popToken (currentContext);					currentContext->prototype = FALSE;				}				/* Prototypes end at the end of statement */				if (currentContext->prototype)				{					currentContext->prototype = FALSE;				}				break;			default :				if (isIdentifierCharacter (c))				{					readIdentifier (token, c);					updateKind (token);					findTag (token);				}		}	}	deleteToken (token);	pruneTokens (currentContext);	currentContext = NULL;}
开发者ID:Luoben,项目名称:ctags,代码行数:54,


示例21: createContext

static void createContext (tokenInfo *const scope){	if (scope)	{		vString *contextName = vStringNew ();		verbose ("Creating new context %s/n", vStringValue (scope->name));		/* Determine full context name */		if (currentContext->kind != K_UNDEFINED)		{			vStringCopy (contextName, currentContext->name);			vStringCatS (contextName, ".");		}		vStringCat (contextName, scope->name);		/* Create context */		currentContext = pushToken (currentContext, scope);		vStringCopy (currentContext->name, contextName);		vStringDelete (contextName);	}}
开发者ID:shunlir,项目名称:ctags,代码行数:20,


示例22: makeVhdlTag

static void makeVhdlTag (tokenInfo * const token, const vhdlKind kind){	if (VhdlKinds[kind].enabled)	{		/*		 * If a scope has been added to the token, change the token		 * string to include the scope when making the tag.		 */		if (vStringLength (token->scope) > 0)		{			vString *fulltag = vStringNew ();			vStringCopy (fulltag, token->scope);			vStringPut (fulltag, '.');			vStringCat (fulltag, token->string);			vStringCopy (token->string, fulltag);			vStringDelete (fulltag);		}		makeConstTag (token, kind);	}}
开发者ID:pragmaware,项目名称:ctags,代码行数:20,


示例23: parsePackage

static void parsePackage (tokenInfo *const token){	readToken (token);	if (isType (token, TOKEN_IDENTIFIER))	{		makeTag (token, GOTAG_PACKAGE, NULL, GOTAG_UNDEFINED, NULL, NULL);		if (!scope && Option.include.qualifiedTags)		{			scope = vStringNew ();			vStringCopy (scope, token->string);		}	}}
开发者ID:15ramky,项目名称:geany,代码行数:13,


示例24: makeEiffelClassTag

static void makeEiffelClassTag (tokenInfo *const token){	if (EiffelKinds [EKIND_CLASS].enabled)	{		const char *const name = vStringValue (token->string);		tagEntryInfo e;		initTagEntry (&e, name, &(EiffelKinds [EKIND_CLASS]));		makeTagEntry (&e);	}	vStringCopy (token->className, token->string);}
开发者ID:amosbird,项目名称:ctags,代码行数:13,


示例25: parsePackage

static void parsePackage (tokenInfo *const token){	readToken (token);	if (isType (token, TOKEN_IDENTIFIER))	{		makeTag (token, GOTAG_PACKAGE, NULL, GOTAG_UNDEFINED, NULL);		if (!scope && isXtagEnabled(XTAG_QUALIFIED_TAGS))		{			scope = vStringNew ();			vStringCopy (scope, token->string);		}	}}
开发者ID:Dev0Null,项目名称:ctags,代码行数:13,


示例26: makeTexTag

static void makeTexTag (tokenInfo *const token, texKind kind){    vString *   fulltag;    if (TexKinds [kind].enabled)    {        /*         * If a scope has been added to the token, change the token         * string to include the scope when making the tag.         */        if ( vStringLength (token->scope) > 0 )        {            fulltag = vStringNew ();            vStringCopy (fulltag, token->scope);            vStringCatS (fulltag, ".");            vStringCatS (fulltag, vStringValue (token->string));            vStringTerminate (fulltag);            vStringCopy (token->string, fulltag);            vStringDelete (fulltag);        }        makeConstTag (token, kind);    }}
开发者ID:pasnox,项目名称:monkeystudio2,代码行数:23,


示例27: pushContext

/* Push a new context, handle null string */static void pushContext (contextKind kind, contextType type, parseNext after,        vString const *contextName){	int parentIndex;	if (stackIndex >= OCAML_MAX_STACK_SIZE)	{		verbose ("OCaml Maximum depth reached");		return;	}	stack[stackIndex].kind = kind;	stack[stackIndex].type = type;	stack[stackIndex].callback = after;	parentIndex = getLastNamedIndex ();	if (contextName == NULL)	{		vStringClear (stack[stackIndex++].contextName);		return;	}	if (parentIndex >= 0)	{		vStringCopy (stack[stackIndex].contextName,			stack[parentIndex].contextName);		vStringPut (stack[stackIndex].contextName,			contextTypeSuffix (stack[parentIndex].type));		vStringCat (stack[stackIndex].contextName, contextName);	}	else		vStringCopy (stack[stackIndex].contextName, contextName);	stackIndex++;}
开发者ID:b4n,项目名称:fishman-ctags,代码行数:38,


示例28: typeSpecification

/* Parse type of kind * type bidule = Ctor1 of ... *             | Ctor2 *             | Ctor3 of ... * or * type bidule = | Ctor1 of ... | Ctor2 * * when type bidule = { ... } is detected, * let typeRecord handle it. */static void typeSpecification (vString * const ident, ocaToken what){	switch (what)	{	case OcaIDENTIFIER:		if (isUpperAlpha (ident->buffer[0]))		{			/* here we handle type aliases of type			 * type foo = AnotherModule.bar			 * AnotherModule can mistakenly be took			 * for a constructor. */			if (! OcamlKinds[K_CONSTRUCTOR].enabled)				vStringClear (tempIdent);			else			{				vStringCopy (tempIdent, ident);				prepareTag (&tempTag, tempIdent, K_CONSTRUCTOR);			}			toDoNext = &constructorValidation;		}		else		{			toDoNext = &tillTokenOrFallback;			comeAfter = &typeSpecification;			waitedToken = Tok_Pipe;		}		break;	case OcaKEYWORD_and:		toDoNext = &typeDecl;		break;	case Tok_BRL:	/* the '[' & ']' are ignored to accommodate */	case Tok_BRR:	/* with the revised syntax */	case Tok_Pipe:		/* just ignore it */		break;	case Tok_CurlL:		toDoNext = &typeRecord;		break;	default:	/* don't care */		break;	}}
开发者ID:Dev0Null,项目名称:ctags,代码行数:55,


示例29: nestingLevelsPush

extern void nestingLevelsPush(NestingLevels *nls,	const vString *name, int type){	NestingLevel *nl = NULL;	if (nls->n >= nls->allocated)	{		nls->allocated++;		nls->levels = xRealloc(nls->levels,			nls->allocated, NestingLevel);		nls->levels[nls->n].name = vStringNew();	}	nl = &nls->levels[nls->n];	nls->n++;	vStringCopy(nl->name, name);	nl->type = type;}
开发者ID:bogota,项目名称:ctags,代码行数:18,



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


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