⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptreearray.cc

📁 这个程序是关于OpenC++的反射植入机制的编译器
💻 CC
字号:
//@beginlicenses@//@license{chiba-tokyo}{}@//@license{Grzegorz Jakacki}{2004}@////  Copyright (C) 1997-2001 Shigeru Chiba, Tokyo Institute of Technology.////  Permission to use, copy, distribute and modify this software and//  its documentation for any purpose is hereby granted without fee,//  provided that the above copyright notice appears in all copies and that//  both that copyright notice and this permission notice appear in//  supporting documentation.////  Shigeru Chiba makes no representations about the suitability of this//  software for any purpose.  It is provided "as is" without express or//  implied warranty.////  -----------------------------------------------------------------////  Permission to use, copy, distribute and modify this software and its  //  documentation for any purpose is hereby granted without fee, provided that//  the above copyright notice appears in all copies and that both that copyright//  notice and this permission notice appear in supporting documentation.// //  Grzegorz Jakacki make(s) no representations about the suitability of this//  software for any purpose. It is provided "as is" without express or implied//  warranty.//  //  Copyright (C) 2004 Grzegorz Jakacki////@endlicenses@#include <opencxx/parser/PtreeArray.h>#include <opencxx/parser/NonLeaf.h>#include <opencxx/parser/TheErrorLog.h>#include <opencxx/parser/ErrorLog.h>#include <opencxx/parser/MopMsg.h>#include <opencxx/parser/GC.h>namespace Opencxx{PtreeArray::PtreeArray(int s){    num = 0;    if(s > 8){	size = s;	array = new (GC) Ptree*[s];    }    else{	size = 8;	array = default_buf;    }}void PtreeArray::Append(Ptree* p){    if(num >= size){	size = size * 2;	Ptree** a = new (GC) Ptree*[size];	memmove(a, array, size_t(num * sizeof(Ptree*)));	array = a;    }    array[num++] = p;}Ptree*& PtreeArray::Ref(unsigned i){    if(i < num)	return array[i];    else{	TheErrorLog().Report(MopMsg(Msg::Fatal, "PtreeArray", "out of range"));	return array[0];    }}Ptree* PtreeArray::All(){    Ptree* lst = 0;    for(int i = Number() - 1; i >= 0; --i)	lst = new NonLeaf(Ref(i), lst);    return lst;}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -