📄 hnsrtreereinsert.cc
字号:
/* * HnSRTreeReinsert.cc * * DO NOT EDIT THIS FILE! * * This file is automatically generated by obj2ptr. * 1997/06/02 21:19:33 */#include "HnSRTreeReinsert.hh"#include "HnSRTreeReinsertObj.hh"/* * HnSRTreeReinsert */const HnSRTreeReinsert HnSRTreeReinsert::null;HnSRTreeReinsertnew_HnSRTreeReinsert(const HnPoint &point, const HnData &data){ HnSRTreeReinsertObj *_obj; HnSRTreeReinsert _ptr; _obj = new HnSRTreeReinsertObj(point, data); if(_obj->hasFailed()) return HnSRTreeReinsert::null; _ptr.assign(_obj); return _ptr;}HnSRTreeReinsertnew_HnSRTreeReinsert(off_t offset, int level){ HnSRTreeReinsertObj *_obj; HnSRTreeReinsert _ptr; _obj = new HnSRTreeReinsertObj(offset, level); if(_obj->hasFailed()) return HnSRTreeReinsert::null; _ptr.assign(_obj); return _ptr;}HnSRTreeReinsert::TypeHnSRTreeReinsert::getType(void) const{ return getObject()->getType();}HnPointHnSRTreeReinsert::getPoint(void) const{ return getObject()->getPoint();}HnDataHnSRTreeReinsert::getData(void) const{ return getObject()->getData();}off_tHnSRTreeReinsert::getOffset(void) const{ return getObject()->getOffset();}intHnSRTreeReinsert::getLevel(void) const{ return getObject()->getLevel();}/* * HnSRTreeReinsertArrayObj */#include <stdlib.h>#include "HnString.hh"class HnSRTreeReinsertArrayObj: public HnObject {private: HnSRTreeReinsert **array; int len; int size; static const int initialSize; void initialize(void) { array = NULL; len = 0; size = 0; } void dispose(void) { if(array != NULL) { int i; for(i=0; i<len; i++) delete array[i]; free(array); } array = NULL; len = 0; size = 0; } void ensureSize(int requiredSize);public: /* constructor and destructor */ HnSRTreeReinsertArrayObj(void); HnSRTreeReinsertArrayObj(const HnSRTreeReinsertArray &ptr); ~HnSRTreeReinsertArrayObj(void); /* clear, append, insert, and remove */ void clear(void); void append(const HnSRTreeReinsert &ptr); void append(const HnSRTreeReinsertArray &ptr); void insert(const HnSRTreeReinsert &ptr, int index); HnSRTreeReinsert remove(int index); void set(const HnSRTreeReinsert &ptr, int index); void swap(int i, int j); /* length and get */ int length(void) const { return len; } HnSRTreeReinsert &get(int i) const; /* utilities */ HnBool equals(const HnSRTreeReinsertArray &ptr) const; int indexOf(const HnSRTreeReinsert &ptr, int fromIndex) const; HnString toString(void) const;};const int HnSRTreeReinsertArrayObj::initialSize = 4;static void *xrealloc(void *ptr, size_t size){ if(ptr == NULL) { if((ptr = malloc(size)) == NULL) HnSysError("malloc"); } else { if((ptr = realloc(ptr, size)) == NULL) HnSysError("realloc"); } return ptr;}voidHnSRTreeReinsertArrayObj::ensureSize(int requiredSize){ int oldSize, newSize; if((oldSize = size) >= requiredSize) return; if((newSize = oldSize) == 0) newSize = initialSize; while(newSize < requiredSize) newSize *= 2; array = (HnSRTreeReinsert **)xrealloc(array, sizeof(HnSRTreeReinsert *) * newSize); size = newSize;}HnSRTreeReinsertArrayObj::HnSRTreeReinsertArrayObj(void){ initialize();}HnSRTreeReinsertArrayObj::HnSRTreeReinsertArrayObj(const HnSRTreeReinsertArray &ptr){ initialize(); clear(); append(ptr);}HnSRTreeReinsertArrayObj::~HnSRTreeReinsertArrayObj(void){ dispose();}voidHnSRTreeReinsertArrayObj::clear(void){ dispose();}voidHnSRTreeReinsertArrayObj::append(const HnSRTreeReinsert &ptr){ ensureSize(len + 1); array[len] = new HnSRTreeReinsert(ptr); len ++;}voidHnSRTreeReinsertArrayObj::append(const HnSRTreeReinsertArray &ptr){ int i; ensureSize(len + ptr.length()); for(i=0; i<ptr.length(); i++) append(ptr[i]);}voidHnSRTreeReinsertArrayObj::insert(const HnSRTreeReinsert &ptr, int index){ if(index < 0 || index > len) HnAbort("HnSRTreeReinsertArrayObj::insert: " "index is out of bounds."); ensureSize(len + 1); memmove(array + index + 1, array + index, sizeof(HnSRTreeReinsert *) * (len - index)); array[index] = new HnSRTreeReinsert(ptr); len ++;}HnSRTreeReinsertHnSRTreeReinsertArrayObj::remove(int index){ HnSRTreeReinsert ptr = get(index); if(index < 0 || index >= len) HnAbort("HnSRTreeReinsertArrayObj::remove: " "index is out of bounds."); delete array[index]; memmove(array + index, array + index + 1, sizeof(HnSRTreeReinsert *) * (len - index - 1)); len --; return ptr;}voidHnSRTreeReinsertArrayObj::set(const HnSRTreeReinsert &ptr, int index){ if(index < 0 || index >= len) HnAbort("HnSRTreeReinsertArrayObj::set: " "index is out of bounds."); delete array[index]; array[index] = new HnSRTreeReinsert(ptr);}voidHnSRTreeReinsertArrayObj::swap(int i, int j){ if(i < 0 || i >= len || j < 0 || j >= len) HnAbort("HnSRTreeReinsertArrayObj::swap: index is out of bounds."); HnSRTreeReinsert *ptr = array[i]; array[i] = array[j]; array[j] = ptr;}HnSRTreeReinsert &HnSRTreeReinsertArrayObj::get(int i) const { if(i < 0 || i >= len) HnAbort("HnSRTreeReinsertArrayObj::get: index is out of bounds."); return *array[i];}HnBoolHnSRTreeReinsertArrayObj::equals(const HnSRTreeReinsertArray &ptr) const { int i; if(len != ptr.length()) return HnFALSE; for(i=0; i<len; i++) { if(!array[i]->equals(ptr[i])) return HnFALSE; } return HnTRUE;}intHnSRTreeReinsertArrayObj::indexOf(const HnSRTreeReinsert &ptr, int fromIndex) const{ int i; for(i=fromIndex; i<len; i++) { if(array[i]->equals(ptr)) return i; } return -1;}HnStringHnSRTreeReinsertArrayObj::toString(void) const{ HnString string; string = "[ "; for(int i=0; i<len; i++) { if(i != 0) string += ", "; string += array[i]->toString(); } string += " ]"; return string;}/* * HnSRTreeReinsertArray */const HnSRTreeReinsertArray HnSRTreeReinsertArray::null;HnSRTreeReinsertArraynew_HnSRTreeReinsertArray(void){ HnSRTreeReinsertArray ptr; ptr.assign(new HnSRTreeReinsertArrayObj()); return ptr;}HnSRTreeReinsertArraynew_HnSRTreeReinsertArray(const HnSRTreeReinsertArray &value){ HnSRTreeReinsertArray ptr; if(value.isInvalid()) ptr.assign(NULL); else ptr.assign(new HnSRTreeReinsertArrayObj(value)); return ptr;}voidHnSRTreeReinsertArray::clear(void){ getObject()->clear();}voidHnSRTreeReinsertArray::append(const HnSRTreeReinsert &ptr){ getObject()->append(ptr);}voidHnSRTreeReinsertArray::append(const HnSRTreeReinsertArray &ptr){ getObject()->append(ptr);}voidHnSRTreeReinsertArray::insert(const HnSRTreeReinsert &ptr, int index){ getObject()->insert(ptr, index);}HnSRTreeReinsertHnSRTreeReinsertArray::remove(int index){ return getObject()->remove(index);}voidHnSRTreeReinsertArray::set(const HnSRTreeReinsert &ptr, int index){ getObject()->set(ptr, index);}voidHnSRTreeReinsertArray::swap(int i, int j){ getObject()->swap(i, j);}intHnSRTreeReinsertArray::length(void) const{ return getObject()->length();}HnSRTreeReinsert &HnSRTreeReinsertArray::get(int i) const{ return getObject()->get(i);}HnBoolHnSRTreeReinsertArray::equals(const HnSRTreeReinsertArray &ptr) const{ return getObject()->equals(ptr);}intHnSRTreeReinsertArray::indexOf(const HnSRTreeReinsert &ptr, int fromIndex) const{ return getObject()->indexOf(ptr, fromIndex);}HnStringHnSRTreeReinsertArray::toString(void) const{ return getObject()->toString();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -