pcomponent.cxx
来自「PTypes (C++ Portable Types Library) is a」· CXX 代码 · 共 100 行
CXX
100 行
/* * * C++ Portable Types Library (PTypes) * Version 1.7.5 Released 9-Mar-2003 * * Copyright (c) 2001, 2002, 2003 Hovik Melikyan * * http://www.melikyan.com/ptypes/ * http://ptypes.sourceforge.net/ * */#include "ptypes.h"#include "pasync.h"PTYPES_BEGINcomponent::component() : unknown(), refcount(0), freelist(nil), typeinfo(nil) {}component::~component() { if (freelist != nil) { for (int i = 0; i < length(*freelist); i++) { component* p = pcomponent((*freelist)[i]); p->freenotify(this); } delete freelist; freelist = nil; }}void component::freenotify(component*) {}void component::addnotification(component* obj) { if (freelist == nil) freelist = new objlist(); add(*freelist, obj);}void component::delnotification(component* obj) { int i = -1; if (freelist != nil) { i = indexof(*freelist, obj); if (i >= 0) { del(*freelist, i); if (length(*freelist) == 0) { delete freelist; freelist = nil; } } } if (i == -1) fatal(CRIT_FIRST + 1, "delnotification() failed: no such object");}int component::classid(){ return CLASS_UNDEFINED;}component* addref(component* c){ if (c != nil) pincrement(&c->refcount); return c;}bool release(component* c){ if (c != nil) { if (pdecrement(&c->refcount) == 0) delete c; else return false; } return true;}PTYPES_END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?