本文整理汇总了C++中NewString函数的典型用法代码示例。如果您正苦于以下问题:C++ NewString函数的具体用法?C++ NewString怎么用?C++ NewString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewString函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: List_set
static int List_set(DOH *lo, int n, DOH *val) {
List *l = (List *) ObjData(lo);
if (!val)
return -1;
assert(!((n < 0) || (n >= l->nitems)));
if (!DohCheck(val)) {
val = NewString(val);
Decref(val);
}
Delete(l->items[n]);
l->items[n] = val;
Incref(val);
Delete(val);
return 0;
}
开发者ID:veeramarni,项目名称:xuggle-swig,代码行数:15,代码来源:list.c
示例2: Char
String *Swig_scopename_last(const String *s) {
char *tmp = Char(s);
char *c = tmp;
char *cc = c;
char *co = 0;
if (!strstr(c, "::"))
return NewString(s);
co = strstr(cc, "operator ");
if (co) {
return NewString(co);
}
while (*c) {
if ((*c == ':') && (*(c + 1) == ':')) {
cc = c;
c += 2;
} else {
if (*c == '<') {
int level = 1;
c++;
while (*c && level) {
if (*c == '<')
level++;
if (*c == '>')
level--;
c++;
}
} else {
c++;
}
}
}
return NewString(cc + 2);
}
开发者ID:sunaku,项目名称:swig-ruby-ffi,代码行数:36,代码来源:misc.c
示例3: Swig_cmethod_call
String *
Swig_cmethod_call(String_or_char *name, ParmList *parms, String_or_char *self) {
String *func, *nname;
int i = 0;
Parm *p = parms;
SwigType *pt;
int comma = 0;
if (!self) self = (char *) "(this)->";
func = NewString("");
nname = SwigType_namestr(name);
if (!p) return func;
Append(func,self);
pt = Getattr(p,"type");
/* If the method is invoked through a dereferenced pointer, we don't add any casts
(needed for smart pointers). Otherwise, we cast to the appropriate type */
if (Strstr(func,"*this")) {
Replaceall(func,"this", Swig_cparm_name(p,0));
} else {
Replaceall(func,"this", SwigType_rcaststr(pt, Swig_cparm_name(p,0)));
}
if (SwigType_istemplate(name)) {
Printf(func,"template %s(", nname);
} else {
Printf(func,"%s(", nname);
}
i++;
p = nextSibling(p);
while (p) {
String *pname;
pt = Getattr(p,"type");
if ((SwigType_type(pt) != T_VOID)) {
if (comma) Printf(func,",");
pname = Swig_cparm_name(p,i);
Printf(func,"%s", SwigType_rcaststr(pt, pname));
comma = 1;
i++;
}
p = nextSibling(p);
}
Printf(func,")");
Delete(nname);
return func;
}
开发者ID:jumpinjackie,项目名称:node-mapguide,代码行数:48,代码来源:cwrap.c
示例4: Swig_cparse_replace_descriptor
void Swig_cparse_replace_descriptor(String *s) {
char tmp[512];
String *arg = 0;
SwigType *t;
char *c = 0;
while ((c = strstr(Char(s), "$descriptor("))) {
char *d = tmp;
int level = 0;
while (*c) {
if (*c == '(')
level++;
if (*c == ')') {
level--;
if (level == 0) {
break;
}
}
*d = *c;
d++;
c++;
}
*d = 0;
arg = NewString(tmp + 12);
t = Swig_cparse_type(arg);
Delete(arg);
arg = 0;
if (t) {
String *mangle;
String *descriptor;
mangle = SwigType_manglestr(t);
descriptor = NewStringf("SWIGTYPE%s", mangle);
SwigType_remember(t);
*d = ')';
d++;
*d = 0;
Replace(s, tmp, descriptor, DOH_REPLACE_ANY);
Delete(mangle);
Delete(descriptor);
Delete(t);
} else {
Swig_error(Getfile(s), Getline(s), "Bad $descriptor() macro.\n");
break;
}
}
}
开发者ID:FlorianDeconinck,项目名称:angel2d,代码行数:48,代码来源:util.c
示例5: NewString
String* String::NewString(const char* str, const int64_t len){
if(!str) return NewString();
String* o =SafeNew<String>();
if(len >= 0){
o->m_length =len;
}
else{
o->m_length =strlen(str);
}
o->m_data =reinterpret_cast< char* >(ALLOCATE(o->m_length + 1));
if(o->m_length > 0){
memcpy(o->m_data, str, (size_t)o->m_length);
}
o->m_data[o->m_length] =0;
return o;
}
开发者ID:AllenWangxiao,项目名称:winner,代码行数:16,代码来源:String.cpp
示例6: NewSwigScanner
SwigScanner *
NewSwigScanner() {
SwigScanner *s;
s = (SwigScanner *) malloc(sizeof(SwigScanner));
s->line = 1;
s->file = 0;
s->nexttoken = -1;
s->start_line = 1;
s->string_start = 0;
s->yylen = 0;
s->idstart = "";
s->scanobjs = NewList();
s->text = NewString("");
s->str = 0;
return s;
}
开发者ID:kanbang,项目名称:Colt,代码行数:16,代码来源:scanner.c
示例7: Insert
/* Returns the function type, t, constructed from the parameters, parms */
SwigType *SwigType_add_function(SwigType *t, ParmList *parms) {
String *pstr;
Parm *p;
Insert(t, 0, ").");
pstr = NewString("f(");
p = parms;
for (p = parms; p; p = nextSibling(p)) {
if (p != parms)
Putc(',', pstr);
Append(pstr, Getattr(p, "type"));
}
Insert(t, 0, pstr);
Delete(pstr);
return t;
}
开发者ID:charlie5,项目名称:swig4ada,代码行数:17,代码来源:typeobj.c
示例8: toggle_screenTrace
/*
* Turn screen tracing on or off.
*
* If turning it on, screentrace_how contains TSS_FILE or TSS_PRINTER,
* and screentrace_name is NULL (use the default) or the name of a
* file, printer command (Unix) or printer (Windows).
*/
static void
toggle_screenTrace(toggle_index_t ix _is_unused, enum toggle_type tt)
{
char *tracefile_buf = NULL;
char *tracefile;
if (toggled(SCREEN_TRACE)) {
/* Turn it on. */
status_screentrace((screentrace_count = 0));
if (onetime_screentrace_name != NULL) {
tracefile = tracefile_buf = onetime_screentrace_name;
onetime_screentrace_name = NULL;
} else if (screentrace_how == TSS_FILE &&
appres.screentrace_file != NULL) {
tracefile = appres.screentrace_file;
} else {
if (screentrace_how == TSS_FILE) {
tracefile = tracefile_buf =
screentrace_default_file(screentrace_ptype);
} else {
tracefile = tracefile_buf = screentrace_default_printer();
}
}
if (!screentrace_cb(screentrace_how, screentrace_ptype,
NewString(tracefile))) {
set_toggle(SCREEN_TRACE, false);
status_screentrace((screentrace_count = -1));
}
} else {
/* Turn it off. */
if (ctlr_any_data() && !trace_skipping) {
do_screentrace(false);
}
end_screentrace(tt == TT_FINAL);
screentrace_last_how = screentrace_how;
screentrace_how = TSS_FILE; /* back to the default */
screentrace_ptype = P_TEXT; /* back to the default */
status_screentrace((screentrace_count = -1));
}
if (tracefile_buf != NULL) {
Free(tracefile_buf);
}
trace_gui_toggle();
}
开发者ID:Oxyoptia,项目名称:x3270,代码行数:54,代码来源:trace.c
示例9: Callback
/**
Password may be stored as encrypted by Configuration Driver. When change a
password, user will be challenged with old password. To validate user input old
password, we will send the clear text to Configuration Driver via Callback().
Configuration driver is responsible to check the passed in password and return
the validation result. If validation pass, state machine in password Callback()
will transit from BROWSER_STATE_VALIDATE_PASSWORD to BROWSER_STATE_SET_PASSWORD.
After user type in new password twice, Callback() will be invoked to send the
new password to Configuration Driver.
@param Selection Pointer to UI_MENU_SELECTION.
@param MenuOption The MenuOption for this password Question.
@param String The clear text of password.
@retval EFI_NOT_AVAILABLE_YET Callback() request to terminate password input.
@return In state of BROWSER_STATE_VALIDATE_PASSWORD:
@retval EFI_SUCCESS Password correct, Browser will prompt for new
password.
@retval EFI_NOT_READY Password incorrect, Browser will show error
message.
@retval Other Browser will do nothing.
@return In state of BROWSER_STATE_SET_PASSWORD:
@retval EFI_SUCCESS Set password success.
@retval Other Set password failed.
**/
EFI_STATUS
PasswordCallback (
IN UI_MENU_SELECTION *Selection,
IN UI_MENU_OPTION *MenuOption,
IN CHAR16 *String
)
{
EFI_STATUS Status;
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
EFI_BROWSER_ACTION_REQUEST ActionRequest;
EFI_IFR_TYPE_VALUE IfrTypeValue;
ConfigAccess = Selection->FormSet->ConfigAccess;
if (ConfigAccess == NULL) {
return EFI_UNSUPPORTED;
}
//
// Prepare password string in HII database
//
if (String != NULL) {
IfrTypeValue.string = NewString (String, Selection->FormSet->HiiHandle);
} else {
IfrTypeValue.string = 0;
}
//
// Send password to Configuration Driver for validation
//
Status = ConfigAccess->Callback (
ConfigAccess,
EFI_BROWSER_ACTION_CHANGING,
MenuOption->ThisTag->QuestionId,
MenuOption->ThisTag->HiiValue.Type,
&IfrTypeValue,
&ActionRequest
);
//
// Remove password string from HII database
//
if (String != NULL) {
DeleteString (IfrTypeValue.string, Selection->FormSet->HiiHandle);
}
return Status;
}
开发者ID:masamitsu-murase,项目名称:edk2_for_mruby,代码行数:73,代码来源:ProcessOptions.c
示例10: Char
String *SwigType_prefix(const SwigType *t) {
char *c, *d;
String *r = 0;
c = Char(t);
d = c + strlen(c);
/* Check for a type constructor */
if ((d > c) && (*(d - 1) == '.'))
d--;
while (d > c) {
d--;
if (*d == '>') {
int nest = 1;
d--;
while ((d > c) && (nest)) {
if (*d == '>')
nest++;
if (*d == '<')
nest--;
d--;
}
}
if (*d == ')') {
/* Skip over params */
int nparen = 1;
d--;
while ((d > c) && (nparen)) {
if (*d == ')')
nparen++;
if (*d == '(')
nparen--;
d--;
}
}
if (*d == '.') {
char t = *(d + 1);
*(d + 1) = 0;
r = NewString(c);
*(d + 1) = t;
return r;
}
}
return NewStringEmpty();
}
开发者ID:charlie5,项目名称:swig4ada,代码行数:47,代码来源:typeobj.c
示例11: start_inline
void start_inline(char *text, int line) {
InFile *in;
/* Save current state */
in_head->line_number = cparse_line;
in_head->in_file = cparse_file;
in = (InFile *) malloc(sizeof(InFile));
in->f = NewString(text);
Seek(in->f,0,SEEK_SET);
in->in_file = Swig_copy_string(cparse_file);
in->line_number = line;
in->prev = in_head;
in_head = in;
LEX_in = in->f;
cparse_line = line;
}
开发者ID:janearc,项目名称:posixnap_old,代码行数:17,代码来源:cscanner.c
示例12: popup_an_errno
/* Pop up an error dialog, based on an error number. */
void
popup_an_errno(int errn, const char *fmt, ...)
{
va_list args;
char *s;
va_start(args, fmt);
(void) vsnprintf(vmsgbuf, sizeof(vmsgbuf), fmt, args);
va_end(args);
s = NewString(vmsgbuf);
if (errn > 0)
popup_an_error("%s: %s", s, strerror(errn));
else
popup_an_error("%s", s);
Free(s);
}
开发者ID:hharte,项目名称:c3270,代码行数:18,代码来源:glue.c
示例13: strip_whitespace
/*
* Whitespace stripper.
*/
char *
strip_whitespace(const char *s)
{
char *t = NewString(s);
while (*t && my_isspace(*t)) {
t++;
}
if (*t) {
char *u = t + strlen(t) - 1;
while (my_isspace(*u)) {
*u-- = '\0';
}
}
return t;
}
开发者ID:Oxyoptia,项目名称:x3270,代码行数:20,代码来源:util.c
示例14: wrapJSObject
jobject wrapJSObject(JNIEnv *pEnv, v8::Handle<v8::Value> value)
{
v8::HandleScope handle_scope;
if (value.IsEmpty() || value->IsNull() || value->IsUndefined()) return NULL;
if (value->IsTrue()) return NewBoolean(pEnv, JNI_TRUE);
if (value->IsFalse()) return NewBoolean(pEnv, JNI_FALSE);
if (value->IsInt32()) return NewInt(pEnv, value->Int32Value());
if (value->IsUint32()) return NewLong(pEnv, value->IntegerValue());
if (value->IsString()) return NewString(pEnv, v8::Handle<v8::String>::Cast(value));
if (value->IsDate()) return NewDate(pEnv, v8::Handle<v8::Date>::Cast(value));
if (value->IsNumber()) return NewDouble(pEnv, value->NumberValue());
// return wrap(value->ToObject());
return NULL;
}
开发者ID:aster-anto,项目名称:adblockplusandroid,代码行数:17,代码来源:wrap.cpp
示例15: Swig_name_object_set
void
Swig_name_object_set(Hash *namehash, String *name, SwigType *decl, DOH *object) {
DOH *n;
/* Printf(stdout,"name: '%s', '%s'\n", name, decl);*/
n = Getattr(namehash,name);
if (!n) {
n = NewHash();
Setattr(namehash,name,n);
}
/* Add an object based on the declarator value */
if (!decl) {
Setattr(n,NewString("*"),object);
} else {
Setattr(n,Copy(decl),object);
}
}
开发者ID:kanbang,项目名称:Colt,代码行数:17,代码来源:naming.c
示例16: Swig_name_set
String *
Swig_name_set(const String_or_char *vname) {
String *r;
String *f;
r = NewString("");
if (!naming_hash) naming_hash = NewHash();
f = Getattr(naming_hash,"set");
if (!f) {
Append(r,"%v_set");
} else {
Append(r,f);
}
Replace(r,"%v",vname, DOH_REPLACE_ANY);
Replace(r,"::","_", DOH_REPLACE_ANY);
return r;
}
开发者ID:kanbang,项目名称:Colt,代码行数:17,代码来源:naming.c
示例17: Swig_name_wrapper
String *
Swig_name_wrapper(const String_or_char *fname) {
String *r;
String *f;
r = NewString("");
if (!naming_hash) naming_hash = NewHash();
f = Getattr(naming_hash,"wrapper");
if (!f) {
Append(r,"_wrap_%f");
} else {
Append(r,f);
}
Replace(r,"%f",fname, DOH_REPLACE_ANY);
name_mangle(r);
return r;
}
开发者ID:kanbang,项目名称:Colt,代码行数:17,代码来源:naming.c
示例18: strlen
const String String::operator=(const char* c){
if (c != NULL)
{
if (sizeMemory < strlen(c) + 1)
{
delete[] strng;
sizeMemory = strlen(c) + 1;
NewString(sizeMemory);
}
strcpy_s(strng, sizeMemory, c);
}
else {
Clear();
}
return *this;
}
开发者ID:Jconrega,项目名称:Examen-final,代码行数:17,代码来源:String.cpp
示例19: set_about_item
static void set_about_item(void){
Str255 aboutitem;
StringHandle abouthandle;
GetMenuItemText( GetMenuHandle(mApple), iAbout, aboutitem);
abouthandle = NewString( aboutitem);
if( abouthandle){
StringPtr curApName = LMGetCurApName();
long len = Munger( (Handle)abouthandle, 1, "MathLink\252", 9, curApName + 1, *curApName);
if( len > 0){
**abouthandle = (unsigned char)len;
HLock( (Handle)abouthandle);
SetMenuItemText( GetMenuHandle(mApple), iAbout, *abouthandle);
}
DisposeHandle( (Handle)abouthandle);
}
}
开发者ID:shanecelis,项目名称:sussex-thesis-doc,代码行数:17,代码来源:run-simulation-mlinktm.c
示例20: Java_com_ssb_droidsound_plugins_VICEPlugin_N_1loadFile
JNIEXPORT jstring JNICALL Java_com_ssb_droidsound_plugins_VICEPlugin_N_1loadFile(JNIEnv *env, jclass cl, jstring name)
{
__android_log_print(ANDROID_LOG_VERBOSE, "VICEPlugin", "in load()");
const char* cname = env->GetStringUTFChars(name, 0);
int ret = psid_load_file(cname);
env->ReleaseStringUTFChars(name, cname);
if (ret != 0)
{
return NewString(env, (const char *) "failure code from psid_load_file()");
}
c64_song_init();
return 0;
}
开发者ID:lioncash,项目名称:droidsound,代码行数:17,代码来源:VICEPlugin.cpp
注:本文中的NewString函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论