本文整理汇总了C++中BitVector::allocator_func方法的典型用法代码示例。如果您正苦于以下问题:C++ BitVector::allocator_func方法的具体用法?C++ BitVector::allocator_func怎么用?C++ BitVector::allocator_func使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitVector
的用法示例。
在下文中一共展示了BitVector::allocator_func方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: void
BitVector *BitVector_Create(int size,
void * (* allocator_func)(size_t),
void (*free_func)(void *),
BitVector_Flags flags){
BitVector *ret = NULL;
int init_val;
//initialize bits to either 0 or 1
if(flags & BV_INIT_FILL){
init_val = SCHAR_MAX;
}else{
init_val = 0;
}
if (allocator_func) {
ret= allocator_func(sizeof(BitVector));
assert(ret!= NULL);
}
else {
ret= malloc(sizeof(BitVector));
assert(ret!= NULL);
}
memset(ret, 0, sizeof(BitVector));
ret->size = size;
ret->numBytes = ceil(size/ (double)CHAR_BIT );
ret->allocator_func = (allocator_func ? allocator_func : malloc);
ret->deallocator_func = (free_func ? free_func : free);
ret->bits = (char*) ret->allocator_func(ret->numBytes);
//initialize bits to either 0 or 1
memset(ret->bits,
init_val,
ret->numBytes);
return ret;
}