本文整理汇总了C++中STLString类的典型用法代码示例。如果您正苦于以下问题:C++ STLString类的具体用法?C++ STLString怎么用?C++ STLString使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了STLString类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: state
//----------------------------------------------------------------//
int MOAILuaObject::_tostring ( lua_State* L ) {
MOAILuaState state ( L );
MOAILuaObject* data = ( MOAILuaObject* )state.GetPtrUserData ( 1 );
if ( data ) {
STLString str;
lua_getfield ( state, 1, "getClassName" );
if ( state.IsType ( -1, LUA_TFUNCTION )) {
lua_pushvalue ( state, 1 );
state.DebugCall ( 1, 1 );
cc8* classname = state.GetValue < cc8* >( -1, "" );
str.write ( "%p <%s>", data, classname );
state.Push ( str );
return 1;
}
str.write ( "%p <%s>", data, data->TypeName ());
state.Push ( str );
return 1;
}
return 0;
}
开发者ID:AzureRodrigo,项目名称:moai-dev,代码行数:27,代码来源:MOAILuaObject.cpp
示例2: ToString
//----------------------------------------------------------------//
STLString USMemStream::ToString ( u32 size ) {
if ( size == 0 ) return 0;
if (( this->mCursor + size ) > this->mLength ) {
size = this->mLength - this->mCursor;
}
STLString str;
char buffer [ DEFAULT_CHUNK_SIZE + 1 ];
u32 readSize = DEFAULT_CHUNK_SIZE;
while ( size > 0 ) {
if ( size < readSize ) {
readSize = size;
}
this->ReadBytes ( buffer, readSize );
buffer [ readSize ] = 0;
str.write ( "%s", buffer );
size -= readSize;
}
return str;
}
开发者ID:,项目名称:,代码行数:27,代码来源:
示例3: _writeHeader
//----------------------------------------------------------------//
u32 MOAIHttpTaskInfo::_writeHeader ( char* data, u32 n, u32 l, void* s ) {
MOAIHttpTaskInfo* self = ( MOAIHttpTaskInfo* )s;
u32 size = n * l;
STLString key = "content-length";
u32 keyLength = ( u32 )strlen ( key );
if ( strncmp ( data, key, keyLength ) == 0 ) {
STLString header = data;
u32 end = ( u32 )header.find_last_of ( '\n' );
STLString value = header.clip ( keyLength + 2, end - 1 );
u32 length = atoi ( value );
if ( length ) {
self->mData.Init ( length );
self->mByteStream.SetBuffer ( self->mData, length );
self->mByteStream.SetLength ( length );
self->mStream = &self->mByteStream;
}
}
return size;
}
开发者ID:,项目名称:,代码行数:26,代码来源:
示例4: while
//----------------------------------------------------------------//
u32 USLuaSerializer::WriteTableInitializer ( USStream& stream, USLuaState& state, int idx, cc8* prefix ) {
u32 count = 0;
u32 itr = state.PushTableItr ( idx );
while ( state.TableItrNext ( itr )) {
switch ( lua_type ( state, -2 )) {
case LUA_TSTRING: {
stream.Print ( "\t%s [ \"%s\" ] = ", prefix, lua_tostring ( state, -2 ));
break;
}
case LUA_TNUMBER: {
stream.Print ( "\t%s [ %s ]\t= ", prefix, lua_tostring ( state, -2 ));
break;
}
};
switch ( lua_type ( state, -1 )) {
case LUA_TBOOLEAN: {
int value = lua_toboolean ( state, -1 );
cc8* str = ( value ) ? "true": "false";
stream.Print ( "%s\n", str );
break;
}
case LUA_TTABLE: {
uintptr tableID = ( uintptr )lua_topointer ( state, -1 );
if ( this->mTableMap.contains ( tableID )) {
stream.Print ( "objects [ 0x%08X ]\n", tableID );
}
break;
}
case LUA_TSTRING: {
STLString str = _escapeString ( lua_tostring ( state, -1 ));
stream.Print ( "\"%s\"\n", str.c_str ());
break;
}
case LUA_TNUMBER: {
stream.Print ( "%s\n", lua_tostring ( state, -1 ));
break;
}
case LUA_TUSERDATA: {
USLuaObject* object = state.GetLuaObject < USLuaObject >( -1 );
u32 instanceID = this->GetID ( object );
stream.Print ( "objects [ 0x%08X ]\n", instanceID );
break;
}
case LUA_TLIGHTUSERDATA: {
stream.Print ( "%p,\n", lua_touserdata ( state, -1 ));
break;
}
};
++count;
}
return count;
}
开发者ID:,项目名称:,代码行数:60,代码来源:
示例5: while
//----------------------------------------------------------------//
u32 MOAIHttpTaskCurl::_writeHeader ( char* data, u32 n, u32 l, void* s ) {
MOAIHttpTaskCurl* self = ( MOAIHttpTaskCurl* )s;
u32 size = n * l;
char *endp = data + size;
char *colon = data;
while ( colon < endp && *colon != ':' ) {
colon++;
}
if ( colon < endp )
{
STLString name ( data, colon - data );
// Case insensitive
char *vstart = colon;
vstart++;
while( vstart < endp && isspace ( *vstart )) {
vstart++;
}
char *vend = endp - 1;
while( vend > vstart && isspace ( *vend ) ) {
vend--;
}
STLString value(vstart, ( vend - vstart ) + 1);
// Emulate XMLHTTPRequest.getResponseHeader() behavior of appending with comma
// separator if there are multiple header responses?
if( self->mResponseHeaders.find ( name ) != self->mResponseHeaders.end ()) {
self->mResponseHeaders [ name ] = self->mResponseHeaders [ name ] + "," + value;
}
else {
self->mResponseHeaders [ name ] = value;
}
}
// Shouldn't this be a case-insensitive check?
STLString key = "content-length";
u32 keyLength = ( u32 )strlen ( key );
if ( strncmp ( data, key, keyLength ) == 0 ) {
STLString header = data;
u32 end = ( u32 )header.find_last_of ( '\n' );
STLString value = header.clip ( keyLength + 2, end - 1 );
u32 length = atoi ( value );
if ( length ) {
self->mData.Init ( length );
self->mByteStream.SetBuffer ( self->mData, length );
self->mByteStream.SetLength ( length );
self->mStream = &self->mByteStream;
}
}
return size;
}
开发者ID:Inzaghi2012,项目名称:moai-dev,代码行数:60,代码来源:MOAIHttpTaskCurl.cpp
示例6: PrintStackTrace
//----------------------------------------------------------------//
void MOAILuaState::PrintStackTrace ( FILE* file, int level ) {
STLString stackTrace = this->GetStackTrace ( level );
// TODO: Fix this on Android
#ifndef MOAI_OS_ANDROID
ZLLog::PrintFile ( file, stackTrace.str ());
#endif
}
开发者ID:Heyzap,项目名称:moai-dev,代码行数:9,代码来源:MOAILuaState.cpp
示例7: LUA_SETUP
//----------------------------------------------------------------//
int USLuaSerializer::_exportToString ( lua_State* L ) {
LUA_SETUP ( USLuaSerializer, "U" )
STLString retStr = self->SerializeToString ();
lua_pushstring ( L, retStr.str() );
return 1;
}
开发者ID:,项目名称:,代码行数:10,代码来源:
示例8: zl_dir_open
//----------------------------------------------------------------//
bool USFileSys::Copy ( cc8* path, cc8* newPath ) {
zl_stat fileStat;
if ( !USFileSys::GetFileStat ( path, fileStat )) return false;
if ( !fileStat.mExists ) return false;
if ( fileStat.mIsDir ) {
bool result = true;
STLString cwd = USFileSys::GetCurrentPath ();
STLString toPath = USFileSys::GetAbsoluteDirPath ( newPath );
USFileSys::AffirmPath ( toPath );
USFileSys::SetCurrentPath ( path );
ZLDIR* itr = zl_dir_open ();
if ( itr ) {
while ( zl_dir_read_entry ( itr )) {
cc8* entry = zl_dir_entry_name ( itr );
if ( strcmp ( entry, "." ) == 0 ) continue;
if ( strcmp ( entry, ".." ) == 0 ) continue;
STLString destEntry = toPath;
destEntry.append ( entry );
if ( !USFileSys::Copy ( entry, destEntry )) {
result = false;
break;
}
}
zl_dir_close ( itr );
}
USFileSys::SetCurrentPath ( cwd );
return result;
}
else {
USFileStream infile;
if ( infile.OpenRead ( path )) {
USFileStream outfile;
if ( outfile.OpenWrite ( newPath )) {
outfile.WriteStream ( infile );
return true;
}
}
}
return false;
}
开发者ID:Inzaghi2012,项目名称:moai-dev,代码行数:54,代码来源:USFileSys.cpp
示例9: SetNameFromMACAddress
//----------------------------------------------------------------//
void ZLAdapterInfo::SetNameFromMACAddress ( u8* address, u32 length ) {
STLString result;
for ( u32 i = 0; i < length; i++ ) {
if ( i ) {
result.write ( "-" );
}
result.write ( "%.2X", ( u32 )address [ i ]);
}
this->mName = result;
}
开发者ID:AzureRodrigo,项目名称:moai-dev,代码行数:13,代码来源:ZLAdapterInfo_win32.cpp
示例10: lua_tostring
//----------------------------------------------------------------//
bool USLuaState::PrintErrors ( int status ) {
if ( status != 0 ) {
cc8* error = lua_tostring ( this->mState, -1 );
if ( error ) {
STLString msg = lua_tostring ( this->mState, -1 );
USLog::Print ( "-- %s\n", msg.c_str ());
}
lua_pop ( this->mState, 1 ); // pop error message
return true;
}
return false;
}
开发者ID:mobilehub,项目名称:moai-beta,代码行数:15,代码来源:USLuaState.cpp
示例11: state
//----------------------------------------------------------------//
int MOAILuaObject::_tostring ( lua_State* L ) {
MOAILuaState state ( L );
MOAILuaObject* data = ( MOAILuaObject* )state.GetPtrUserData ( 1 );
if ( data ) {
STLString str;
str.write ( "0x%p <%s>", data, data->TypeName ()); // TODO: 64-bit
state.Push ( str );
return 1;
}
return 0;
}
开发者ID:kengonakajima,项目名称:moai-dev,代码行数:15,代码来源:MOAILuaObject.cpp
示例12: Prepare
//----------------------------------------------------------------//
void MOAIHttpTaskNaCl::Prepare ( GetURLHandler *handler ) {
// until we get a header indicating otherwise, assume we won't
// know the final length of the stream, so default to use the
// USMemStream which will grow dynamically
this->mStream = &this->mMemStream;
char buffer [ MAX_HEADER_LENGTH ];
int written = 0;
// prepare the custom headers (if any)
HeaderMapIt headerMapIt = this->mHeaderMap.begin ();
for ( ; headerMapIt != this->mHeaderMap.end (); ++headerMapIt ) {
STLString key = headerMapIt->first;
STLString value = headerMapIt->second;
assert (( written + ( key.size () + value.size () + 3 )) < MAX_HEADER_LENGTH );
if ( value.size ()) {
written += sprintf ( buffer + written, "%s: %s\n", key.c_str (), value.c_str ());
}
else {
written += sprintf ( buffer + written, "%s:\n", key.c_str ());
}
}
//append headers
handler->SetHeaders ( buffer );
}
开发者ID:leonlee,项目名称:moai-1.1-build-2,代码行数:34,代码来源:MOAIHttpTaskNaCl.cpp
示例13: lua_tostring
//----------------------------------------------------------------//
bool MOAILuaState::PrintErrors ( FILE* file, int status ) {
if ( status != 0 ) {
cc8* error = lua_tostring ( this->mState, -1 );
if ( error ) {
STLString msg = lua_tostring ( this->mState, -1 );
// TODO: Fix this on Android
#ifndef MOAI_OS_ANDROID
ZLLog::PrintFile ( file, "-- %s\n", msg.c_str ());
#endif
}
lua_pop ( this->mState, 1 ); // pop error message
return true;
}
return false;
}
开发者ID:Heyzap,项目名称:moai-dev,代码行数:18,代码来源:MOAILuaState.cpp
示例14: _escapeString
//----------------------------------------------------------------//
static STLString _escapeString ( cc8* str ) {
u32 len = ( u32 )strlen ( str );
STLString outStr;
outStr.reserve ( len * 2 );
for ( u32 i = 0; i < len; ++i ) {
char c = str [ i ];
if ( c == '\\' ) {
outStr.append ( "\\\\" );
}
else {
outStr.push_back ( c );
}
}
return outStr;
}
开发者ID:,项目名称:,代码行数:19,代码来源:
示例15: ReadUnicodeAsASCII
//----------------------------------------------------------------//
STLString ZLCgt::ReadUnicodeAsASCII ( ZLStream& stream ) {
// TODO: change this to convert to UTF8!
// Also: GOLD now has native UTF8 support. Look into it.
STLString result = "";
static const u32 BUFFER_SIZE = 1024;
char buffer [ BUFFER_SIZE ];
u16 utf = 1;
while ( utf ) {
for ( u32 i = 0; ( i < BUFFER_SIZE ) && utf; ++i ) {
utf = stream.Read < u16 >( 0 );
buffer [ i ] = ( char )( utf & 0x00ff );
}
result.append ( buffer );
}
return result;
}
开发者ID:JakobssonAndre,项目名称:moai-dev,代码行数:22,代码来源:ZLCgt.cpp
示例16: Prepare
//----------------------------------------------------------------//
void MOAIHttpTaskCurl::Prepare () {
// until we get a header indicating otherwise, assume we won't
// know the final length of the stream, so default to use the
// USMemStream which will grow dynamically
if ( this->mUserStream ) {
this->mStream = this->mUserStream->GetUSStream();
}
else {
this->mStream = &this->mMemStream;
}
char buffer [ MAX_HEADER_LENGTH ];
// prepare the custom headers (if any)
HeaderMapIt headerMapIt = this->mHeaderMap.begin ();
for ( ; headerMapIt != this->mHeaderMap.end (); ++headerMapIt ) {
STLString key = headerMapIt->first;
STLString value = headerMapIt->second;
assert (( key.size () + value.size () + 3 ) < MAX_HEADER_LENGTH );
if ( value.size ()) {
sprintf ( buffer, "%s: %s", key.c_str (), value.c_str ());
}
else {
sprintf ( buffer, "%s:", key.c_str ());
}
this->mHeaderList = curl_slist_append ( this->mHeaderList, buffer );
}
if ( this->mHeaderList ) {
CURLcode result = curl_easy_setopt ( this->mEasyHandle, CURLOPT_HTTPHEADER, this->mHeaderList );
PrintError ( result );
}
CURLcode result = curl_easy_setopt ( this->mEasyHandle, CURLOPT_CONNECTTIMEOUT, this->mDefaultTimeout );
// follow redirects based on settings in base class (default is to NOT follow redirects)
result = curl_easy_setopt ( this->mEasyHandle, CURLOPT_FOLLOWLOCATION, this->mFollowRedirects );
// set the timeout for this task
result = curl_easy_setopt ( this->mEasyHandle, CURLOPT_TIMEOUT, this->mTimeout );
PrintError ( result );
}
开发者ID:Inzaghi2012,项目名称:moai-dev,代码行数:51,代码来源:MOAIHttpTaskCurl.cpp
示例17: tokenize
//----------------------------------------------------------------//
size_t STLString::tokenize ( const STLString& str, STLArray < STLString >& tokens, const STLString& delimiters ) {
return str.tokenize ( tokens, delimiters );
}
开发者ID:,项目名称:,代码行数:5,代码来源:
示例18: glewInit
//----------------------------------------------------------------//
void MOAIGfxDevice::DetectContext () {
this->mHasContext = true;
#ifdef __GLEW_H__
static bool initGlew = true;
if ( initGlew ) {
glewInit ();
initGlew = false;
}
#endif
const GLubyte* driverVersion = glGetString ( GL_VERSION );
STLString version = ( cc8* )driverVersion;
version.to_lower ();
STLString gles = "opengl es";
if ( version.find ( gles ) != version.npos ) {
this->mIsOpenGLES = true;
version = version.substr ( gles.length ());
size_t space = version.find ( ' ' );
if ( space != version.npos ) {
version = version.substr ( space + 1 );
}
}
else {
this->mIsOpenGLES = false;
}
version = version.substr ( 0, 3 );
this->mMajorVersion = version.at ( 0 ) - '0';
this->mMinorVersion = version.at ( 2 ) - '0';
this->mIsProgrammable = ( this->mMajorVersion >= 2 );
this->mIsFramebufferSupported = true;
#if defined ( __GLEW_H__ )
// if framebuffer object is not in code, check to see if it's available as
// an extension and remap to core function pointers if so
if (( this->mIsOpenGLES == false ) && ( this->mMajorVersion < 3 )) {
if ( glewIsSupported ( "GL_EXT_framebuffer_object" )) {
REMAP_EXTENSION_PTR ( glBindFramebuffer, glBindFramebufferEXT )
REMAP_EXTENSION_PTR ( glCheckFramebufferStatus, glCheckFramebufferStatusEXT )
REMAP_EXTENSION_PTR ( glDeleteFramebuffers, glDeleteFramebuffersEXT )
REMAP_EXTENSION_PTR ( glDeleteRenderbuffers, glDeleteRenderbuffersEXT )
REMAP_EXTENSION_PTR ( glFramebufferRenderbuffer, glFramebufferRenderbufferEXT )
REMAP_EXTENSION_PTR ( glFramebufferTexture1D, glFramebufferTexture1DEXT )
REMAP_EXTENSION_PTR ( glFramebufferTexture2D, glFramebufferTexture2DEXT )
REMAP_EXTENSION_PTR ( glFramebufferTexture3D, glFramebufferTexture3DEXT )
REMAP_EXTENSION_PTR ( glGenFramebuffers, glGenFramebuffersEXT )
REMAP_EXTENSION_PTR ( glGenRenderbuffers, glGenRenderbuffersEXT )
REMAP_EXTENSION_PTR ( glGenerateMipmap, glGenerateMipmapEXT )
REMAP_EXTENSION_PTR ( glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameterivEXT )
REMAP_EXTENSION_PTR ( glGetRenderbufferParameteriv, glGetRenderbufferParameterivEXT )
REMAP_EXTENSION_PTR ( glIsFramebuffer, glIsFramebufferEXT )
REMAP_EXTENSION_PTR ( glIsRenderbuffer, glIsRenderbufferEXT )
REMAP_EXTENSION_PTR ( glRenderbufferStorage, glRenderbufferStorageEXT )
}
else {
// looks like frame buffer isn't supported
this->mIsFramebufferSupported = false;
}
}
#endif
int maxTextureUnits;
glGetIntegerv ( GL_MAX_TEXTURE_IMAGE_UNITS, &maxTextureUnits );
this->mTextureUnits.Init ( maxTextureUnits );
this->mTextureUnits.Fill ( 0 );
int maxTextureSize;
glGetIntegerv ( GL_MAX_TEXTURE_SIZE, &maxTextureSize );
this->mMaxTextureSize = maxTextureSize;
this->mDeleterStack.Reset ();
this->ResetResources ();
}
开发者ID:joarb,项目名称:moai-beta,代码行数:85,代码来源:MOAIGfxDevice.cpp
示例19: GetStackTrace
//----------------------------------------------------------------//
STLString MOAILuaState::GetStackTrace ( int level ) {
int firstpart = 1; /* still before eventual `...' */
lua_Debug ar;
lua_State* L = this->mState;
STLString out;
out.append ( "stack traceback:" );
while ( lua_getstack ( L, level++, &ar )) {
if ( level > LEVELS1 && firstpart ) {
if ( !lua_getstack ( L, level + LEVELS2, &ar )) {
level--;
}
else {
// too many levels
out.append ( "\n\t..." ); /* too many levels */
// find last levels */
while ( lua_getstack ( L, level + LEVELS2, &ar ))
level++;
}
firstpart = 0;
continue;
}
out.append ( "\n\t" );
lua_getinfo ( L, "Snl", &ar );
out.append ( ar.short_src );
if ( ar.currentline > 0 ) {
out.write ( ":%d", ar.currentline );
}
if ( *ar.namewhat != '\0' ) {
out.write ( " in function '%s'", ar.name );
}
else {
if ( *ar.what == 'm' ) {
out.write ( " in main chunk" );
}
else if ( *ar.what == 'C' || *ar.what == 't' ) {
out.write ( " ?" );
}
else {
out.write ( " in function <%s:%d>", ar.short_src, ar.linedefined );
}
}
}
out.append ( "\n" );
return out;
}
开发者ID:Heyzap,项目名称:moai-dev,代码行数:61,代码来源:MOAILuaState.cpp
示例20: build_var
//----------------------------------------------------------------//
STLString STLString::build_var ( cc8* format, va_list args ) {
STLString result;
result.write_var ( format, args );
return result;
}
开发者ID:,项目名称:,代码行数:7,代码来源:
注:本文中的STLString类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论