这篇教程C++ Class函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Class函数的典型用法代码示例。如果您正苦于以下问题:C++ Class函数的具体用法?C++ Class怎么用?C++ Class使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Class函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: switchbool Player::setIntByHash(uint16_t propHash, LevelObjValue value, const Level* level) noexcept{ switch (propHash) { case str2int16("strength"): strength = std::clamp(value, 0, Class()->MaxStrength()); break; case str2int16("magic"): magic = std::clamp(value, 0, Class()->MaxMagic()); break; case str2int16("dexterity"): dexterity = std::clamp(value, 0, Class()->MaxDexterity()); break; case str2int16("vitality"): vitality = std::clamp(value, 0, Class()->MaxVitality()); break; case str2int16("lifeDamage"): lifeDamage = std::max(value, 0); break; case str2int16("manaDamage"): manaDamage = std::max(value, 0); break; default: return false; } updateNameAndDescr = true; return true;}
开发者ID:dgengin,项目名称:DGEngine,代码行数:28,
示例2: environment_variable_getVariable environment_variable_get(Scope* scope, Variable variable){ for(unsigned int v = 0; v < scope->variables.size(); v++){ if( (scope->variables[v].name == variable.name or variable.name==IGNORE) and (scope->variables[v].type.name == variable.type.name or variable.type.name==IGNORE)){ return scope->variables[v]; } } if(scope->parent == NULL){ #ifdef DEV_ERRORS fail(DEV_BLANK_TYPE); #endif // DEV_ERRORS return Variable("", Class(), false, false); } if(environment_variable_exists(scope->parent, variable)){ return environment_variable_get(scope->parent, variable); } #ifdef DEV_ERRORS fail(DEV_BLANK_TYPE); #endif // DEV_ERRORS return Variable("", Class(), false, false);}
开发者ID:IsaacShelton,项目名称:Boomslang,代码行数:26,
示例3: connectPrereqsToTargetsvoid connectPrereqsToTargets(const std::string & s, Graph & g) { auto it = s.begin(); std::set<Class>::iterator targetIt; while (it != s.end()) { if (*it == ':') { std::string target(s.begin(), it); targetIt = g.classes.find(Class(target)); assert(targetIt != g.classes.end()); ++it; break; } ++it; } while (it != s.end()) { ++it; auto endit = it; while (endit != s.end() && *endit != ' ') { ++endit; } std::string prereq(std::string(it, endit)); std::set<Class>::iterator prereqIt = g.classes.find(Class(prereq)); assert(prereqIt != g.classes.end()); g.connect(targetIt, prereqIt); it = endit; }}
开发者ID:chrzhang,项目名称:abc,代码行数:25,
示例4: assertstatic at *call_method(at *obj, struct hashelem *hx, at *args){ at *fun = hx->function; assert(FUNCTIONP(fun)); if (Class(fun) == de_class) { // DE at *p = eval_arglist(args); return with_object(obj, fun, p, hx->sofar); } else if (Class(fun) == df_class) { // DF return with_object(obj, fun, args, hx->sofar); } else if (Class(fun) == dm_class) { // DM at *p = new_cons(new_cons(fun, args), NIL); at *q = with_object(obj, at_mexpand, p, hx->sofar); return eval(q); } else { // DX, DY, DH at *p = new_cons(fun, new_cons(obj, args)); return Class(fun)->listeval(fun, p); }}
开发者ID:barak,项目名称:lush,代码行数:26,
示例5: lush_deletevoid lush_delete(at *p){ if (!p || ZOMBIEP(p)) return; class_t *cl = classof(p); if (cl->dontdelete) error(NIL, "cannot delete this object", p); run_notifiers(p); if (cl->has_compiled_part) { assert(isa(p, object_class)); /* OO objects may have two parts */ /* lush_delete has to delete both of them */ object_t *obj = Mptr(p); struct CClass_object *cobj = obj->cptr; oostruct_dispose(obj); cobj->Vtbl->Cdestroy(cobj); } else { if (Class(p)->dispose) Mptr(p) = Class(p)->dispose(Mptr(p)); else Mptr(p) = NULL; } zombify(p);}
开发者ID:barak,项目名称:lush,代码行数:28,
示例6: returnbool Player::hasMaxStats() const noexcept{ return (strength >= Class()->MaxStrength() && magic >= Class()->MaxMagic() && dexterity >= Class()->MaxDexterity() && vitality >= Class()->MaxVitality());}
开发者ID:dgengin,项目名称:DGEngine,代码行数:7,
示例7: Header_newHeader* Header_new(ProcessList* pl) { Header* this = calloc(1, sizeof(Header)); this->leftMeters = Vector_new(Class(Meter), true, DEFAULT_SIZE); this->rightMeters = Vector_new(Class(Meter), true, DEFAULT_SIZE); this->margin = true; this->pl = pl; return this;}
开发者ID:adnandzebic,项目名称:htop,代码行数:8,
示例8: sprintfstatic const char *generic_name(at *p){ if (Class(p)->classname) sprintf(string_buffer, "::%s:%p", NAMEOF(Class(p)->classname),Mptr(p)); else sprintf(string_buffer, "::%p:%p", Class(p), Mptr(p)); return mm_strdup(string_buffer);}
开发者ID:barak,项目名称:lush,代码行数:9,
示例9: environment_generic_method_existsbool environment_generic_method_exists(TokenContext context, Scope* scope, Method method, Class actual_class, Class generic_class){ for(size_t i = 0; i < scope->methods.size(); i++){ if( (scope->methods[i].name == method.name or method.name==IGNORE) and (scope->methods[i].parent == method.parent or method.parent==NULL) and (context_class_compare(context, Class(scope->methods[i].return_type), Class(method.return_type)) or method.return_type == IGNORE_CLASS) and (generic_arguments_equal(context, scope->methods[i].arguments, method.arguments, actual_class, generic_class))){ return true; } } return false;}
开发者ID:IsaacShelton,项目名称:Boomslang,代码行数:12,
示例10: heuristicid/* linux driver says the release id is not always right */static intheuristicid(uint32_t csp, uint32_t maxpkt){ if(Class(csp) == 0x02) return TypeH; else if(maxpkt == 0x40) return TypeHX; else if(Class(csp) == 0x00 || Class(csp) == 0xFF) return TypeH; else{ fprint(2, "serial: chip unknown, setting to HX version/n"); return TypeHX; }}
开发者ID:dalmonian,项目名称:harvey,代码行数:15,
示例11: class_void Component::classes(void){ class_(Component::StencilType, Class( "Stencil", Stencil::page, Stencil::request, Stencil::call )); class_(Component::ThemeType, Class( "Theme", Theme::page, nullptr, Theme::call ));}
开发者ID:gitter-badger,项目名称:stencila,代码行数:14,
示例12: environment_method_getMethod environment_method_get(TokenContext context, Scope* scope, Method method){ for(size_t i = 0; i < scope->methods.size(); i++){ if( (scope->methods[i].name == method.name or method.name==IGNORE) and (scope->methods[i].parent == method.parent or method.parent==NULL) and (context_class_compare(context, Class(scope->methods[i].return_type), Class(method.return_type)) or method.return_type == IGNORE_CLASS) and (arguments_equal(context, scope->methods[i].arguments, method.arguments))){ return scope->methods[i]; } } #ifdef DEV_ERRORS fail(DEV_BLANK_TYPE); #endif // DEV_ERRORS return Method{"", NULL, IGNORE_ARGS, IGNORE_CLASS};}
开发者ID:IsaacShelton,项目名称:Boomslang,代码行数:16,
示例13: ClassVariable::Variable(){ name = ""; type = Class(""); is_final = false; is_static = false; is_private = false;}
开发者ID:IsaacShelton,项目名称:Boomslang,代码行数:7,
示例14: sizeofaConfItem *make_conf(void){ Reg aConfItem *aconf; aconf = (struct ConfItem *)MyMalloc(sizeof(aConfItem));#ifdef DEBUGMODE aconfs.inuse++;#endif istat.is_conf++; istat.is_confmem += sizeof(aConfItem); bzero((char *)&aconf->ipnum, sizeof(struct IN_ADDR)); aconf->clients = aconf->port = 0; aconf->next = NULL; aconf->host = aconf->passwd = aconf->name = aconf->name2 = NULL;#ifdef XLINE aconf->name3 = NULL;#endif aconf->ping = NULL; aconf->status = CONF_ILLEGAL; aconf->pref = -1; aconf->hold = time(NULL); aconf->source_ip = NULL; aconf->flags = 0L; Class(aconf) = NULL; return (aconf);}
开发者ID:DanielOaks,项目名称:irc2-mirror,代码行数:28,
示例15: lush_delete_maybe/* similar to lush_delete, but don't raise error with permanent objects */void lush_delete_maybe(at *p){ if (p) { if (!Class(p)->dontdelete) lush_delete(p); }}
开发者ID:barak,项目名称:lush,代码行数:8,
示例16: DOC_BEGINJSBoolpango::JSContext::Constructor(::JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { DOC_BEGIN(""); DOC_END; if (JSA_GetClass(cx,obj) != Class()) { JS_ReportError(cx,"Constructor for %s bad object; did you forget a 'new'?",ClassName()); return JS_FALSE; } pango::JSContext * myNewObject = 0; NATIVE * newNative = 0; if (argc == 0) { PangoContext * myContext = pango_context_new(); newNative = new NATIVE(myContext, false); } else { JS_ReportError(cx,"Constructor for %s: bad number of arguments: expected none () %d",ClassName(), argc); return JS_FALSE; } myNewObject = new pango::JSContext(OWNERPTR(newNative), newNative); if (myNewObject) { JS_SetPrivate(cx,obj,myNewObject); return JS_TRUE; } JS_ReportError(cx,"pango::JSContext::Constructor: bad parameters"); return JS_FALSE;}
开发者ID:artcom,项目名称:y60,代码行数:34,
示例17: SimpleNamevoid Player::updateNameAndDescriptions() const{ if (updateNameAndDescr == true) { updateNameAndDescr = false; if (Class()->getFullName(*this, name) == false && name.empty() == true) { name = SimpleName(); } for (size_t i = 0; i < descriptions.size(); i++) { Class()->getDescription(i, *this, descriptions[i]); } }}
开发者ID:dgengin,项目名称:DGEngine,代码行数:16,
示例18: updateItemQuantityCachebool Player::setItem(size_t invIdx, size_t itemIdx, std::unique_ptr<Item>& item, std::unique_ptr<Item>& oldItem){ if (invIdx >= inventories.size()) { return false; } auto itemPtr = item.get(); auto& inventory = inventories[invIdx]; auto ret = inventory.set(itemIdx, item, oldItem); if (ret == true) { if (itemPtr != nullptr) { updateItemQuantityCache(itemPtr->Class()->IdHash16()); itemPtr->clearMapPosition(); itemPtr->updateOwner(this); } else if (oldItem != nullptr) { updateItemQuantityCache(oldItem->Class()->IdHash16()); oldItem->updateOwner(nullptr); } if (bodyInventoryIdx == invIdx) { updateProperties(); } } return ret;}
开发者ID:dgengin,项目名称:DGEngine,代码行数:30,
示例19: UnsupportedProcess_deletevoid UnsupportedProcess_delete(Object* cast) { Process* this = (Process*) cast; Object_setClass(this, Class(Process)); Process_done((Process*)cast); // free platform-specific fields here free(this);}
开发者ID:scragg0x,项目名称:htop,代码行数:7,
示例20: DOC_BEGINJSBoolJSColorSelectionDialog::Constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { DOC_BEGIN(""); DOC_END; ensureParamCount(argc,1,5); if (JSA_GetClass(cx,obj) != Class()) { JS_ReportError(cx,"Constructor for %s bad object; did you forget a 'new'?",ClassName()); return JS_FALSE; } NATIVE * newNative = 0; JSColorSelectionDialog * myNewObject = 0; if ( argc == 1) { string myTitle; convertFrom(cx, argv[0], myTitle); newNative = new NATIVE(myTitle); } else { newNative = new NATIVE(); } myNewObject = new JSColorSelectionDialog(OWNERPTR(newNative), newNative); if (myNewObject) { JS_SetPrivate(cx,obj,myNewObject); return JS_TRUE; } JS_ReportError(cx,"JSColorSelectionDialog::Constructor: failed"); return JS_FALSE;}
开发者ID:artcom,项目名称:y60,代码行数:32,
示例21: SetFlagvoid CBaseObject::Allocate(CObjects* pcObjects){ mpcObjectsThisIn = pcObjects; SetFlag(OBJECT_FLAGS_CALLED_ALLOCATE, TRUE); Class(); SetDistToStack(UNKNOWN_DIST_TO_STACK);}
开发者ID:chrisjaquet,项目名称:Codaphela.Library,代码行数:7,
示例22: DOC_BEGINJSBoolJSCheckButton::Constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { DOC_BEGIN(""); DOC_END; if (JSA_GetClass(cx,obj) != Class()) { JS_ReportError(cx,"Constructor for %s bad object; did you forget a 'new'?",ClassName()); return JS_FALSE; } NATIVE * newNative = 0; JSCheckButton * myNewObject = 0; if (argc == 0) { newNative = new Gtk::CheckButton(); } else if (argc == 1) { Glib::ustring myLabel; convertFrom(cx, argv[0], myLabel); newNative = new Gtk::CheckButton(myLabel); } else { JS_ReportError(cx,"Constructor for %s: bad number of arguments: expected none () %d",ClassName(), argc); return JS_FALSE; } myNewObject = new JSCheckButton(OWNERPTR(newNative), newNative); if (myNewObject) { JS_SetPrivate(cx,obj,myNewObject); return JS_TRUE; } JS_ReportError(cx,"JSCheckButton::Constructor: bad parameters"); return JS_FALSE;}
开发者ID:artcom,项目名称:y60,代码行数:32,
示例23: ProcessList_newProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) { int mib[] = { CTL_HW, HW_NCPU }; int fmib[] = { CTL_KERN, KERN_FSCALE }; int i, e; OpenBSDProcessList* opl = calloc(1, sizeof(OpenBSDProcessList)); ProcessList* pl = (ProcessList*) opl; size_t size = sizeof(pl->cpuCount); ProcessList_init(pl, Class(OpenBSDProcess), usersTable, pidWhiteList, userId); e = sysctl(mib, 2, &pl->cpuCount, &size, NULL, 0); if (e == -1 || pl->cpuCount < 1) { pl->cpuCount = 1; } opl->cpus = realloc(opl->cpus, pl->cpuCount * sizeof(CPUData)); size = sizeof(fscale); if (sysctl(fmib, 2, &fscale, &size, NULL, 0) < 0) err(1, "fscale sysctl call failed"); for (i = 0; i < pl->cpuCount; i++) { opl->cpus[i].totalTime = 1; opl->cpus[i].totalPeriod = 1; } pageSizeKb = PAGE_SIZE_KB; // XXX: last arg should eventually be an errbuf opl->kd = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, NULL); assert(opl->kd); return pl;}
开发者ID:pirocks,项目名称:htop,代码行数:32,
示例24: DOC_BEGINJSBoolJSMisc::Constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { DOC_BEGIN(""); DOC_END; if (JSA_GetClass(cx,obj) != Class()) { JS_ReportError(cx,"Constructor for %s bad object; did you forget a 'new'?",ClassName()); return JS_FALSE; } NATIVE * newNative = 0; JSMisc * myNewObject = 0; if (argc == 0) { newNative = 0; // Abstract myNewObject = new JSMisc(OWNERPTR(newNative), newNative); } else { JS_ReportError(cx,"Constructor for %s: bad number of arguments: expected none () %d",ClassName(), argc); return JS_FALSE; } if (myNewObject) { JS_SetPrivate(cx,obj,myNewObject); return JS_TRUE; } JS_ReportError(cx,"JSMisc::Constructor: bad parameters"); return JS_FALSE;}
开发者ID:artcom,项目名称:y60,代码行数:28,
示例25: Panel_newPanel* Panel_new(int x, int y, int w, int h, bool owner, ObjectClass* type, FunctionBar* fuBar) { Panel* this; this = xMalloc(sizeof(Panel)); Object_setClass(this, Class(Panel)); Panel_init(this, x, y, w, h, type, owner, fuBar); return this;}
开发者ID:520lly,项目名称:htop,代码行数:7,
示例26: AvailableMetersPanel_newAvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr) { AvailableMetersPanel* this = AllocThis(AvailableMetersPanel); Panel* super = (Panel*) this; Panel_init(super, 1, 1, 1, 1, Class(ListItem), true); this->settings = settings; this->leftPanel = leftMeters; this->rightPanel = rightMeters; this->scr = scr; Panel_setHeader(super, "Available meters"); for (int i = 1; Platform_meterTypes[i]; i++) { MeterClass* type = Platform_meterTypes[i]; if (type != &CPUMeter_class) { Panel_add(super, (Object*) ListItem_new(type->uiName, i << 16)); } } MeterClass* type = &CPUMeter_class; int cpus = settings->pl->cpuCount; if (cpus > 1) { Panel_add(super, (Object*) ListItem_new("CPU average", 0)); for (int i = 1; i <= cpus; i++) { char buffer[50]; sprintf(buffer, "%s %d", type->uiName, i); Panel_add(super, (Object*) ListItem_new(buffer, i)); } } else { Panel_add(super, (Object*) ListItem_new("CPU", 1)); } return this;}
开发者ID:Traviis,项目名称:htop,代码行数:31,
示例27: ProcessList_newProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) { FreeBSDProcessList* fpl = calloc(1, sizeof(FreeBSDProcessList)); ProcessList* pl = (ProcessList*) fpl; ProcessList_init(pl, Class(FreeBSDProcess), usersTable, pidWhiteList, userId); int cpus = 1; size_t sizeof_cpus = sizeof(cpus); int err = sysctlbyname("hw.ncpu", &cpus, &sizeof_cpus, NULL, 0); if (err) cpus = 1; pl->cpuCount = MAX(cpus, 1); CPUData* tmp_cpus = (CPUData*) realloc(fpl->cpus, cpus * sizeof(CPUData)); assert(tmp_cpus != NULL); fpl->cpus = tmp_cpus; for (int i = 0; i < cpus; i++) { fpl->cpus[i].totalTime = 1; fpl->cpus[i].totalPeriod = 1; } size_t len; len = 4; sysctlnametomib("vm.stats.vm.v_wire_count", MIB_vm_stats_vm_v_wire_count, &len); len = 4; sysctlnametomib("vm.stats.vm.v_cache_count", MIB_vm_stats_vm_v_cache_count, &len); len = 2; sysctlnametomib("hw.physmem", MIB_hw_physmem, &len); pageSizeKb = PAGE_SIZE_KB; fpl->kd = kvm_open(NULL, "/dev/null", NULL, 0, NULL); assert(fpl->kd); return pl;}
开发者ID:tijko,项目名称:htop,代码行数:30,
示例28: Classvoid Player::setDefaultSpeed(const AnimationSpeed& speed_){ defaultSpeed = speed_; speed = Class()->getSpeed(playerAnimation); animation.elapsedTime.timeout = speed.animation; updateSpeed();}
开发者ID:dgengin,项目名称:DGEngine,代码行数:7,
注:本文中的Class函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Class_Make_Obj函数代码示例 C++ ClampToQuantum函数代码示例 |