自定义内存分配池

This commit is contained in:
2026-07-29 18:08:57 +08:00
parent 5a3511bb58
commit d943d82554
122 changed files with 3602 additions and 1215 deletions
+7 -7
View File
@@ -5,10 +5,10 @@ namespace Psc {
// using T_Data = std::shared_ptr<Table_Data>;
struct Edit_Func {
virtual ~Edit_Func() = default;
virtual bool insert_row(int pos, const QVector<Row_Info*>& infos, const QVector<QVector<Base_Table_Data*>>& data, Edge_Expand_Type t) {
virtual bool insert_row(int pos, const std::vector<Row_Info*>& infos, const std::vector<std::vector<Base_Table_Data*>>& data, Edge_Expand_Type t) {
return true;
}
virtual bool insert_col(int pos, const QVector<Col_Info*>& infos, const QVector<QVector<Base_Table_Data*>>& data, Edge_Expand_Type t) {
virtual bool insert_col(int pos, const std::vector<Col_Info*>& infos, const std::vector<std::vector<Base_Table_Data*>>& data, Edge_Expand_Type t) {
return true;
}
virtual bool remove_row(int pos, int num) {
@@ -58,8 +58,8 @@ Pos get_pos(Base_Info** infos, int n, int space, int pos, int margin);
struct Memory_Table_Model : Base_Table_Model, Edit_Func {
void split(int row, int col, int row_span, int col_span) override;
void merge(int row, int col, int row_span, int col_span) override;
bool insert_row(int pos, const QVector<Row_Info*>& infos, const QVector<QVector<Base_Table_Data*>>& data, Edge_Expand_Type) override;
bool insert_col(int pos, const QVector<Col_Info*>& infos, const QVector<QVector<Base_Table_Data*>>& data, Edge_Expand_Type) override;
bool insert_row(int pos, const std::vector<Row_Info*>& infos, const std::vector<std::vector<Base_Table_Data*>>& data, Edge_Expand_Type) override;
bool insert_col(int pos, const std::vector<Col_Info*>& infos, const std::vector<std::vector<Base_Table_Data*>>& data, Edge_Expand_Type) override;
bool remove_row(int pos, int num) override;
bool remove_col(int pos, int num) override;
// 表格区域绝对位置计算
@@ -87,9 +87,9 @@ struct Memory_Table_Model : Base_Table_Model, Edit_Func {
return data[col][row];
}
protected:
QVector<Col_Info*> col_info_list;
QVector<Row_Info*> row_info_list;
QVector<QVector<Base_Table_Data*>> data;
std::vector<Col_Info*> col_info_list;
std::vector<Row_Info*> row_info_list;
std::vector<std::vector<Base_Table_Data*>> data;
friend Table_View* create_table_view();
friend Table_View* create_table_view2();
};