本文整理汇总了C++中dao_free函数的典型用法代码示例。如果您正苦于以下问题:C++ dao_free函数的具体用法?C++ dao_free怎么用?C++ dao_free使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dao_free函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DaoObject_Delete
void DaoObject_Delete( DaoObject *self )
{
int i;
#ifdef DAO_USE_GC_LOGGER
DaoObjectLogger_LogDelete( (DaoValue*) self );
#endif
GC_DecRC( self->defClass );
GC_DecRC( self->parent );
if( self->isRoot ){
for(i=0; i<self->valueCount; i++) GC_DecRC( self->objValues[i] );
if( self->objValues != (DaoValue**) (self + 1) ) dao_free( self->objValues );
}
dao_free( self );
}
示例2: DaoQueue_Delete
void DaoQueue_Delete( DaoQueue *self )
{
QueueItem *item;
while( self->tail != NULL ){
item = self->tail;
self->tail = item->previous;
DaoGC_DecRC( item->value );
dao_free( item );
}
DaoGC_DecRC( (DaoValue*)self->mtx );
DaoGC_DecRC( (DaoValue*)self->pushvar );
DaoGC_DecRC( (DaoValue*)self->popvar );
DaoCstruct_Free( (DaoCstruct*)self );
dao_free( self );
}
示例3: DaoClass_Delete
void DaoClass_Delete( DaoClass *self )
{
GC_DecRC( self->clsType );
DMap_Delete( self->abstypes );
DMap_Delete( self->lookupTable );
DMap_Delete( self->ovldRoutMap );
DArray_Delete( self->constants );
DArray_Delete( self->variables );
DArray_Delete( self->instvars );
DArray_Delete( self->objDataName );
DArray_Delete( self->cstDataName );
DArray_Delete( self->glbDataName );
DArray_Delete( self->superClass );
DArray_Delete( self->references );
if( self->vtable ) DMap_Delete( self->vtable );
if( self->protoValues ) DMap_Delete( self->protoValues );
#ifdef DAO_WITH_DYNCLASS
if( self->typeHolders ){
DArray_Delete( self->typeHolders );
DArray_Delete( self->typeDefaults );
DMap_Delete( self->instanceClasses );
}
#endif
DString_Delete( self->className );
dao_free( self );
}
示例4: DaoxFont_Delete
void DaoxFont_Delete( DaoxFont *self )
{
DMap_Delete( self->glyphs );
DString_Delete( self->buffer );
DaoCstruct_Free( (DaoCstruct*) self );
dao_free( self );
}
示例5: DaoxDataColumn_Delete
void DaoxDataColumn_Delete( DaoxDataColumn *self )
{
DaoxDataColumn_Reset( self, 0 );
DVector_Delete( self->cells );
GC_DecRC( self->type );
dao_free( self );
}
示例6: DaoCallServer_Delete
static void DaoCallServer_Delete( DaoCallServer *self )
{
daoint i;
for(i=0; i<self->threads->size; i++){
DaoCallThread_Delete( (DaoCallThread*)self->threads->items.pVoid[i] );
}
for(i=0; i<self->caches->size; ++i){
DaoTaskEvent_Delete( (DaoTaskEvent*) self->caches->items.pVoid[i] );
}
DList_Delete( self->threads );
DList_Delete( self->functions );
DList_Delete( self->parameters );
DList_Delete( self->owners );
DList_Delete( self->events );
DList_Delete( self->events2 );
DList_Delete( self->caches );
DMap_Delete( self->waitings );
DMap_Delete( self->pending );
DMap_Delete( self->active );
DMutex_Destroy( & self->mutex );
DCondVar_Destroy( & self->condv );
DCondVar_Destroy( & self->condv2 );
DThread_Destroy( & self->timer );
dao_free( self );
}
示例7: DaoxProfiler_Delete
void DaoxProfiler_Delete( DaoxProfiler *self )
{
DMutex_Destroy( & self->mutex );
DMap_Delete( self->profile );
DMap_Delete( self->one );
dao_free( self );
}
示例8: DaoMethodFields_Delete
static void DaoMethodFields_Delete( DaoMethodFields *self )
{
DArray_Delete( self->names );
DArray_Delete( self->perms );
DArray_Delete( self->routines );
dao_free( self );
}
示例9: DaoLexer_Delete
void DaoLexer_Delete( DaoLexer *self )
{
daoint i;
for(i=0; i<self->tokbuf->size; ++i) DaoToken_Delete( self->tokbuf->items.pToken[i] );
DArray_Delete( self->tokens );
DArray_Delete( self->tokbuf );
dao_free( self );
}
示例10: DArray_Delete
void DArray_Delete( DArray *self )
{
#ifdef DAO_GC_PROF
daoCountArray --;
#endif
DArray_Clear( self );
dao_free( self );
}
示例11: DaoStream_Delete
void DaoStream_Delete( DaoStream *self )
{
DaoStream_Close( self );
DString_Delete( self->fname );
DString_Delete( self->streamString );
DaoCstruct_Free( (DaoCstruct*) self );
dao_free( self );
}
示例12: DArray_Delete
void DArray_Delete( DArray *self )
{
#ifdef DAO_USE_GC_LOGGER
daoCountArray --;
#endif
DArray_Clear( self );
dao_free( self );
}
示例13: DaoXmlParser_Delete
void DaoXmlParser_Delete( DaoXmlParser *self )
{
DString_Delete( self->key );
DString_Delete( self->value );
DString_Delete( self->escape );
DMap_Delete( self->escapes );
dao_free( self );
}
示例14: DArray_Clear
void DArray_Clear( DArray *self )
{
void **buf = self->items.pVoid - self->offset;
DArray_DeleteItems( self, 0, self->size );
if( buf ) dao_free( buf );
self->items.pVoid = NULL;
self->size = self->bufsize = 0;
self->offset = 0;
}
示例15: DaoState_Delete
void DaoState_Delete( DaoState *self )
{
DaoGC_DecRC( self->state );
DaoGC_DecRC( (DaoValue*)self->lock );
DaoGC_DecRC( (DaoValue*)self->defmtx );
DaoGC_DecRC( (DaoValue*)self->demands );
DaoCstruct_Free( (DaoCstruct*)self );
dao_free( self );
}