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

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

51自学网 2021-06-01 20:08:16
  C++
这篇教程C++ CX_ASSERT函数代码示例写得很实用,希望能帮到您。

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

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

示例1: cx_str_explode

cxu32 cx_str_explode (char **dst, cxu32 dstSize, const char *src, char delimiter){    CX_ASSERT (dst);    CX_ASSERT (src);    cxu32 count = 0;    const char *start = src;    const char *found = strchr (start, delimiter);    while (found)    {        CX_ASSERT (count < dstSize);        dst [count++] = cx_strdup (start, found - start);        start = found + 1;        found = strchr (start, delimiter);    }    CX_ASSERT (count < dstSize);    if (*start != '/0')    {        dst [count++] = cx_strdup (start, strlen (start));    }    return count;}
开发者ID:uonyx,项目名称:now360,代码行数:30,


示例2: CX_ASSERT

cxAtlas *cxAtlas::SetCoords(const cxArray *coords,const cxFrames *frames){    CX_ASSERT(!Size().IsZero(), "size not set");    cxInt size = frames->Num();    SetCapacity(size);    const cxInt *map = frames->Map();    for(cxInt i = 0;i < size;i++){        cxInt mapIdx = map[i];        CX_ASSERT(mapIdx < coords->Size(), "map idx error");        //get map tex        cxTexCoord *coord = coords->At(mapIdx)->To<cxTexCoord>();        if(coord->IsEmpty()){            continue;        }        //trimmed box        cxBoxPoint3F bp = coord->Trimmed(BoxPoint(), Size(), FlipX(), FlipY());        if(bp.Size().IsZero()){            continue;        }        //add render        cxBoxRender &render = renders.Inc();        render.SetVertices(bp);        render.SetColor(Color());        //get coord box        const cxBoxCoord2F &tbox = coord->BoxCoord(Pixel(), FlipX(), FlipY());        render.SetCoords(tbox);    }    return this;}
开发者ID:cxuhua,项目名称:cxengine,代码行数:29,


示例3: CX_ASSERT

//support key.key key.0.0.1, max 8 levelstatic json_t *jsonGetJson(json_t *json,cxConstChars key){    CX_ASSERT(cxConstCharsOK(key), "key error");    json_t *rv = json_object_get(json, key);    if(rv != NULL){        return rv;    }    cxChars ckey = allocator->strdup(key);    cxInt num = 0;    cxChars ckeys[16];    cxChars src = ckey;    ckeys[num++] = src;    while (*src++ != '/0') {        if(*src != '.')continue;        CX_ASSERT(num < 16, ". opt too more");        ckeys[num++] = src + 1;        *src++ = '/0';    }    json_t *pv = json;    cxInt index = 0;    for(cxInt i=0; i < num;i ++){        cxConstChars ckey = ckeys[i];        if(cxKeyIsNumber(ckey, &index)){            rv = json_array_get(pv, index);        }else{            rv = json_object_get(pv, ckey);        }        if(rv == NULL)break;        pv = rv;    }    allocator->free(ckey);    return rv;}
开发者ID:fuguelike,项目名称:cxEngine,代码行数:34,


示例4: CX_ASSERT

const cx_colour *_ui_intrinsic_colour_get (const ui_intrinsic_t *intr, ui_widget_state_t wstate){  CX_ASSERT (intr);  CX_ASSERT ((wstate >= UI_WIDGET_STATE_NORMAL) && (wstate < NUM_UI_WIDGET_STATES));    return &intr->colour [wstate];}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例5: cx_str_utf8_to_unicode

cxu32 cx_str_utf8_to_unicode (cxu32 *dst, cxu32 dstSize, const char *utf8src){    cxu32 dstLen = 0;    cxu32 srcSize = strlen (utf8src); // data length    CX_ASSERT ((srcSize < dstSize) && "dstSize too small");    const cxu8 *src = (const cxu8 *) utf8src;    cxi32 ss = srcSize;#if CX_DEBUG    cxi32 srcCount = 0;#endif    while ((ss > 0) && (dstLen < (dstSize - 1)))    {        cxu32 ch = 0;        cxu32 offset = cx_str_utf8_decode (&ch, src);        CX_ASSERT (dstLen < dstSize);        dst [dstLen++] = ch;        src += offset;        ss -= offset;#if CX_DEBUG        srcCount += offset;#endif    }    dst [dstLen] = 0;    return dstLen;}
开发者ID:uonyx,项目名称:now360,代码行数:35,


示例6: _ui_intrinsic_colour_set

void _ui_intrinsic_colour_set (ui_intrinsic_t *intr, ui_widget_state_t wstate, const cx_colour *colour){  CX_ASSERT (intr);  CX_ASSERT (colour);  CX_ASSERT ((wstate >= UI_WIDGET_STATE_NORMAL) && (wstate < NUM_UI_WIDGET_STATES));    intr->colour [wstate] = *colour;}
开发者ID:uonyx,项目名称:now360,代码行数:8,


示例7: _ui_intrinsic_texture_set

void _ui_intrinsic_texture_set (ui_intrinsic_t *intr, ui_widget_state_t wstate, cx_texture *texture){  CX_ASSERT (intr);  CX_ASSERT (texture);  CX_ASSERT ((wstate >= UI_WIDGET_STATE_NORMAL) && (wstate < NUM_UI_WIDGET_STATES));    intr->texture [wstate] = texture;}
开发者ID:uonyx,项目名称:now360,代码行数:8,


示例8: CX_ASSERT

cxArray *cxArray::Swap(cxInt src,cxInt dst){    CX_ASSERT(src >= 0 && src < Size(), "src out bound");    CX_ASSERT(dst >= 0 && dst < Size(), "dst out bound");    cxObject **ptr = (cxObject **)mv.data();    CX_SWAP_VAR(ptr[src], ptr[dst]);    return this;}
开发者ID:cxuhua,项目名称:cxengine,代码行数:8,


示例9: input_register_gesture_event_callback

void input_register_gesture_event_callback (input_gesture_type type, input_gesture_event_callback fn){  CX_ASSERT (g_initialised);  CX_ASSERT ((type > INPUT_GESTURE_TYPE_INVALID) && (type < NUM_INPUT_GESTURE_TYPES));  CX_ASSERT (!cx_list2_exists (&g_gestureEventCallbacks [type], fn));    cx_list2_insert_back (&g_gestureEventCallbacks [type], fn);}
开发者ID:uonyx,项目名称:now360,代码行数:8,


示例10: input_register_touch_event_callback

void input_register_touch_event_callback (input_touch_type type, input_touch_event_callback fn){  CX_ASSERT (g_initialised);  CX_ASSERT ((type > INPUT_TOUCH_TYPE_INVALID) && (type < NUM_INPUT_TOUCH_TYPES));  CX_ASSERT (!cx_list2_exists (&g_touchEventCallbacks [type], fn));    cx_list2_insert_back (&g_touchEventCallbacks [type], fn);}
开发者ID:uonyx,项目名称:now360,代码行数:8,


示例11: cx_str_utf8_decode

cxu32 cx_str_utf8_decode (cxu32 *dst, const cxu8 *src){    CX_ASSERT (dst);    CX_ASSERT (src);    cxu32 ch = 0;    cxu32 offset = 0;    if ((src [0] & UTF8_BYTE6) == UTF8_BYTE6)    {        offset = 6;    }    else if ((src [0] & UTF8_BYTE5) == UTF8_BYTE5)    {        offset = 5;    }    else if ((src [0] & UTF8_BYTE4) == UTF8_BYTE4)    {        ch =  ((src [0] & 0x07) << 18) |              ((src [1] & 0x3f) << 12) |              ((src [2] & 0x3f) << 6)  |              ((src [3] & 0x3f));        offset = 4;    }    else if ((src [0] & UTF8_BYTE3) == UTF8_BYTE3)    {        ch =  ((src [0] & 0x0f) << 12) |              ((src [1] & 0x3f) << 6) |              ((src [2] & 0x3f));        offset = 3;    }    else if ((src [0] & UTF8_BYTE2) == UTF8_BYTE2)    {        ch =  ((src [0] & 0x1f) << 6) |              ((src [1] & 0x3f));        offset = 2;    }    else if (src [0] < UTF8_BYTE1)    {        ch =  (src [0]);        offset = 1;    }    else    {        offset = strlen ((const char *) src);        CX_ERROR ("Invalid UTF8 character");    }    *dst = ch;    return offset;}
开发者ID:uonyx,项目名称:now360,代码行数:55,


示例12: ui_do_button

bool ui_do_button (ui_context_t *context, const ui_button_t *button){  CX_ASSERT (context);  CX_ASSERT (button);    bool ret = false;    bool isHot = (button->elem == context->hover);  bool isActive = (button->elem == context->active);    if (isHot)  {    // is touch event end, return true;        if (context->event.type == INPUT_TOUCH_TYPE_END)    {      bool isInside = ui_touch_hit (context, button->elem);            if (isInside)      {        context->active = button->elem;        ret = true;      }    }        // render hover skin    ui_render_element (button->elem);      }  else if (isActive)  {    // render active skin    ui_render_element (button->elem);  }  else  {    // is touch event begin, return true;    if (context->event.type == INPUT_TOUCH_TYPE_BEGIN)    {          // if touch event inside, set hover      bool isInside = ui_touch_hit (context, button->elem);            if (isInside)      {        context->hover = button->elem;      }    }        // render normal skin    ui_render_element (button->elem);  }    return ret;}
开发者ID:uonyx,项目名称:now360,代码行数:54,


示例13: input_process_cached_events

static void input_process_cached_events (void){  CX_ASSERT (g_initialised);    if (g_gestureEventsCount > 0)  {    g_touchEventsCount = 0;  }      // gesture events    for (unsigned i = 0, c = g_gestureEventsCount; i < c; ++i)  {    const input_gesture_event *gestureEvent = &g_gestureEventsCache [i];        cx_list2 *list = &g_gestureEventCallbacks [gestureEvent->type];        cx_list2_node *cb = list->head;        while (cb)    {      CX_ASSERT (cb->data);            input_gesture_event_callback fn = (input_gesture_event_callback) cb->data;            fn (gestureEvent);            cb = cb->next;    }  }  // touch events    for (unsigned i = 0, c = g_touchEventsCount; i < c; ++i)  {    const input_touch_event *touchEvent = &g_touchEventsCache [i];        cx_list2 *list = &g_touchEventCallbacks [touchEvent->type];        cx_list2_node *cb = list->head;        while (cb)    {      CX_ASSERT (cb->data);            input_touch_event_callback fn = (input_touch_event_callback) cb->data;            fn (touchEvent);            cb = cb->next;    }  }}
开发者ID:uonyx,项目名称:now360,代码行数:53,


示例14: cxJsonCreate

cxJson cxJsonCreate(cxString json){    CX_ASSERT(json != NULL, "args error");    cxJson this = CX_CREATE(cxJson);    json_error_t error = {0};    if(cxStringLength(json) <= 0){        return this;    }    this->json = json_loadb(cxStringBody(json), cxStringLength(json), JSON_DECODE_ANY, &error);    CX_ASSERT(this->json != NULL, "cxJson load error (%d:%d) %s:%s",error.line,error.column,error.source,error.text);    return this;}
开发者ID:812872970,项目名称:cxEngine,代码行数:12,


示例15: CX_FATAL_ASSERT

static ui_intrinsic_t *ui_ctx_input_hit (ui_context_t *ctx, const cx_vec2 *point, bool ext){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (point);    ui_intrinsic_t *hit = NULL;  cx_list2_node *intrNode = ctx->intrList.tail;    float tx = ctx->canvasWidth * point->x;  float ty = ctx->canvasHeight * point->y;    while (intrNode)  {    ui_intrinsic_t *intr = (ui_intrinsic_t *) intrNode->data;    CX_ASSERT (intr);        if (intr->enable)    {          float w = intr->dimension.x;      float h = intr->dimension.y;      float x = intr->position.x;      float y = intr->position.y;            if (ext && (ctx->hover == intr))      {        const float ex = 4.0f;        const float ey = 6.0f;                w += ex;        h += ey;        x -= (ex * 0.5f);        y -= (ey * 0.5f);      }            if ((tx >= x) && (tx <= (x + w)))      {        if ((ty >= y) && (ty <= (y + h)))        {          hit = intr;          break;        }      }    }        intrNode = intrNode->prev;  }    return hit;}
开发者ID:uonyx,项目名称:now360,代码行数:50,


示例16: ui_ctx_render_checkbox

static void ui_ctx_render_checkbox (ui_context_t *ctx, ui_checkbox_t *checkbox){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (checkbox);    ui_checkbox_callbacks_t *callbacks = (ui_checkbox_callbacks_t *) checkbox->_callbacks;    if (callbacks && callbacks->renderFn)  {    callbacks->renderFn (checkbox);  }  else  {    // default render        ui_widget_state_t wstate = ui_ctx_widget_state (ctx, &checkbox->intr);        if (checkbox->checked)    {    }    else    {    }        float x1 = checkbox->intr.position.x;    float y1 = checkbox->intr.position.y;    float x2 = x1 + checkbox->intr.dimension.x;    float y2 = y1 + checkbox->intr.dimension.y;        cx_texture *texture = checkbox->intr.texture [wstate];    cx_colour colour = checkbox->intr.colour [wstate];        cx_draw_quad (x1, y1, x2, y2, 0.0f, 0.0f, &colour, texture);  }}
开发者ID:uonyx,项目名称:now360,代码行数:35,


示例17: input_clear_cached_events

static void input_clear_cached_events (void){  CX_ASSERT (g_initialised);    g_touchEventsCount = 0;  g_gestureEventsCount = 0;}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例18: input_update

void input_update (void){  CX_ASSERT (g_initialised);    input_process_cached_events ();  input_clear_cached_events ();}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例19: cxTextureCreate

cxTexture cxTextureCreate(cxConstChars file){    cxTexture texture = NULL;    CX_ASSERT(file != NULL, "file args error");    cxStream stream = cxAssetsStreamCreate(file);    if(stream == NULL){        CX_ERROR("create stream from file %s failed",file);        return NULL;    }    char *ext = strrchr(file, '.');    if(ext == NULL){        CX_ERROR("unknow file ext name");        return NULL;    }    if(cxConstCharsEqu(ext, ".png")){        texture = cxTexturePNGLoadStream(stream);    }else if(cxConstCharsEqu(ext, ".pvr")){        texture = cxTexturePVRLoadStream(stream);    }else if(cxConstCharsEqu(ext, ".xml")){        texture = cxTextureXMLLoadStream(stream);    }else if(cxConstCharsEqu(ext, ".pkm")){        texture = cxTexturePKMLoadStream(stream);    }else if(cxConstCharsEqu(ext, ".jpg") || cxConstCharsEqu(ext, ".jpeg")){        texture = cxTextureJPGLoadStream(stream);    }else{        CX_ERROR("load texture failed %s",file);    }    return texture;}
开发者ID:812872970,项目名称:cxEngine,代码行数:29,


示例20: cxPlayEffect

cxAny cxPlayEffect(cxConstChars file,cxBool loop){    cxPlayer this = cxPlayerInstance();    JniMethodInfo methodInfo;    cxBool ret = cxGetStaticMethodInfo(&methodInfo, CLASS_NAME, "cxEnginePlayEffect","(Ljava/lang/String;Z)I");    CX_ASSERT(ret, "get static method info failed");    CX_UNUSED_PARAM(ret);    jstring path = (*methodInfo.env)->NewStringUTF(methodInfo.env,file);    cxInt soundId = (*methodInfo.env)->CallStaticIntMethod(methodInfo.env, methodInfo.classID, methodInfo.methodID, path, loop);    (*methodInfo.env)->DeleteLocalRef(methodInfo.env,path);    if(soundId <= 0){        CX_ERROR("play file failed %s",file);        return NULL;    }    cxTrack track = cxHashGet(this->tracks, cxHashStrKey(file));    //add or replace    if(track == NULL || track->soundId != soundId){        track = CX_ALLOC(cxTrack);        track->file = cxStringAllocChars(file);        track->soundId = soundId;        cxHashSet(this->tracks, cxHashStrKey(file), track);        CX_RELEASE(track);    }    return track;}
开发者ID:812872970,项目名称:cxEngine,代码行数:25,


示例21: cxSpriteTexture

static cxInt cxSpriteTexture(lua_State *L){    CX_LUA_DEF_THIS(cxReaderAttrInfo *);    cxConstChars v = NULL;    cxConstChars k = NULL;    if(!lua_istable(L, 2)){        luaL_error(L, "args error");        return 0;    }    lua_getfield(L, 2, "v");    v = luaL_checkstring(L, -1);    lua_pop(L, 1);    lua_getfield(L, 2, "k");    k = luaL_checkstring(L, -1);    lua_pop(L, 1);    if(v == NULL){        luaL_error(L, "v args error");        return 0;    }    cxTextureAttr attr = CX_CREATE(cxTextureAttr);    cxSprite sprite = cxViewRootGet(this->root, v);    CX_ASSERT(sprite != NULL, "sprite is null");    CX_RETAIN_SWAP(attr->texture, sprite->texture);    if(k != NULL){        attr->box = cxTextureBox(sprite->texture, k);        attr->size = cxTextureSize(sprite->texture, k);    }    CX_LUA_PUSH_OBJECT(attr);    return 1;}
开发者ID:lostsakya,项目名称:cxEngine,代码行数:30,


示例22: ui_render_element

void ui_render_element (const ui_intrinsic_t *elem){  CX_ASSERT (elem);    float x1 = elem->position.x;  float y1 = elem->position.y;  float x2 = x1 + elem->dimension.x;  float y2 = y1 + elem->dimension.y;    cx_texture *texture = elem->texture [0];  cx_colour colour = elem->colour [0];    colour.a = elem->opacity;    cx_draw_quad (x1, y1, x2, y2, 0.0f, 0.0f, &colour, texture);  #if 0  if (elem->text && *elem->text)  {    float tx = 4.0f;    float ty = 36.0f;        cx_font_render (font, elem->text, tx, ty, 0.0f, CX_FONT_ALIGNMENT_DEFAULT, &elem->fgColour);  }#endif}
开发者ID:uonyx,项目名称:now360,代码行数:26,


示例23: ui_touch_hit

bool ui_touch_hit (ui_context_t *context, const ui_intrinsic_t *elem){  CX_ASSERT (elem);    bool ret = false;    float w = intr->dimension.x;  float h = intr->dimension.y;  float x = intr->position.x;  float y = intr->position.y;    float tx = ctx->canvasWidth * ctx->inputEv.point.x;  float ty = ctx->canvasHeight * ctx->inputEv.point.y;      if ((tx >= x) && (tx <= (x + w)))  {    if ((ty >= y) && (ty <= (y + h)))    {      ret = true;    }  }    return ret;}
开发者ID:uonyx,项目名称:now360,代码行数:25,


示例24: ui_ctx_add_intrinsic

static void ui_ctx_add_intrinsic (ui_context_t *ctx, const ui_intrinsic_t *intr){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (intr);    cx_list2_insert_front (&ctx->intrList, intr);}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例25: ui_ctx_remove_intrinsic

static void ui_ctx_remove_intrinsic (ui_context_t *ctx, const ui_intrinsic_t *intr){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (intr);    cx_list2_remove (&ctx->intrList, intr);}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例26: ui_ctx_render_button

static void ui_ctx_render_button (ui_context_t *ctx, ui_button_t *button){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (button);    ui_button_callbacks_t *callbacks = (ui_button_callbacks_t *) button->_callbacks;    if (callbacks && callbacks->renderFn)  {    callbacks->renderFn (button);  }  else  {    // do default render    if (button->intr.show)    {         ui_widget_state_t wstate = ui_ctx_widget_state (ctx, &button->intr);            float x1 = button->intr.position.x;      float y1 = button->intr.position.y;      float x2 = x1 + button->intr.dimension.x;      float y2 = y1 + button->intr.dimension.y;            cx_texture *texture = button->intr.texture [wstate];      cx_colour colour = button->intr.colour [wstate];            cx_draw_quad (x1, y1, x2, y2, 0.0f, 0.0f, &colour, texture);    }  }}
开发者ID:uonyx,项目名称:now360,代码行数:30,


示例27: _ui_intrinsic_widget_state_get

ui_widget_state_t _ui_intrinsic_widget_state_get (ui_context_t *ctx, const ui_intrinsic_t *intr){  CX_FATAL_ASSERT (ctx);  CX_ASSERT (intr);    return ui_ctx_widget_state (ctx, intr);}
开发者ID:uonyx,项目名称:now360,代码行数:7,


示例28: jsonStrConvert

/* {    "func":"timeConvert",    "args":60 }  {    "func":"timeConvert",    "args":[1,3,4,5] } */static cxConstChars jsonStrConvert(json_t *v){    cxJson json = cxJsonReference(v);    cxStr txt = cxJsonDump(json);    cxConstChars funcName = cxJsonConstChars(json, "func");    if(!cxConstCharsOK(funcName)){        return cxStrBody(txt);    }    cxConvert convert = cxGetConvert(funcName);    if(convert == NULL){        return cxStrBody(txt);    }    CX_ASSERT(convert->func != NULL, "convert error");    cxStr ret = NULL;    cxJson args = cxJsonAny(json, "args");    if(args == NULL){        ret = ((cxStr (*)(void))convert->func)();    }else if(cxJsonIsStr(args)){        cxConstChars a1 = cxJsonToConstChars(args);        ret = ((cxStr (*)(cxConstChars))convert->func)(a1);    }else if(cxJsonIsInt(args)){        cxInt a1 = cxJsonToInt(args, 0);        ret = ((cxStr (*)(cxInt))convert->func)(a1);    }else if(cxJsonIsDouble(args)){        cxDouble a1 = cxJsonToDouble(args, 0);        ret = ((cxStr (*)(cxDouble))convert->func)(a1);    }else if(cxJsonIsBool(args)){        cxBool a1 = cxJsonToBool(args, false);        ret = ((cxStr (*)(cxBool))convert->func)(a1);    }else{        ret = ((cxStr (*)(cxJson))convert->func)(args);    }    return ret == NULL ? NULL : cxStrBody(ret);}
开发者ID:fuguelike,项目名称:cxEngine,代码行数:45,



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


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