@cella-lang/cpp 0.1.202610110220 → 0.1.202610110249

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/CHANGES.md +11 -0
  2. package/cpp.cell +0 -0
  3. package/index.json +472 -412
  4. package/package.json +2 -2
package/CHANGES.md CHANGED
@@ -5,6 +5,17 @@
5
5
 
6
6
  ## 未發佈
7
7
 
8
+ ### set/map 的 erase 只讓被刪的失效(**不相容**)
9
+
10
+ - `GSet`、`GMap`、`SetV`、`MapV` 的建構子多一個欄位:刪除紀錄 `log`(`gset lt xs ver log`、`gmap lt xs ver log`、`setV xs ver log`、`mapV xs ver log`);新的 `gsetLog`、`gmapLog`、`setLog`、`mapLog`、`notErased`、`notErasedV`。
11
+ - `gsValidB`、`gmValidB`、`sitValidB`、`mitValidB`:只有指向被刪元素的迭代器失效;`gsNext`/`gsPrev`/`gmNext`/`gmPrev`/`setItNext`/`setItPrev`/`mapItNext`/`mapItPrev` 回傳目前版本。
12
+ - **修正**:`gmValM`(`it->second`)要求迭代器有效——之前只看鍵在不在,刪掉再插回同一個鍵之後舊迭代器的讀取被接受。
13
+
14
+ ### vector 的容量(**不相容**)
15
+
16
+ - `GArr` 的建構子多兩個欄位:`arr xs ver dmg cap`(這次配置以來每一步的損壞點、保證的容量);新的 `gDmg`、`gCap`。直接建構請改用 `gMk xs`(新建)、`gKeep a xs`(內容改了、迭代器不失效)、`gStep a d xs`(不重新配置、修改點 d)、`gGrow a n d xs`(大小成長到 n)、`gBump a xs`(可能重新配置)。
17
+ - `gPushBack`/`pushBack`、`insertA`、`insertIt`、`insertNIt`、`gResize`:保證的容量之內只讓修改點之後的失效;`gEraseA`、`eraseIt`、`eraseRange`、`gPopBack`/`popBack`、`clearA`、`gUniqueErase`:同(不會重新配置);`reserveA`:n 不超過保證的容量時不變;`itValidB` 改成看損壞點(`belowAll`);`itMove`/`itNext` 回傳目前版本的迭代器。
18
+
8
19
  ### 其他容器的 `.at()`
9
20
 
10
21
  - `gmapAtX`、`umAtX`、`strAtX`、`dqAtX`。
package/cpp.cell CHANGED
Binary file