トップ «前の日記(2021-07-12) 最新 次の日記(2021-07-14)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2021-07-13 [長年日記]

_ [SAD]sequence utilityの追加実装

追記・挿入系の基本操作の整理

concatinateは、sequence後方に領域を確保するrealloc操作と、contentsへの上書きコピー操作で構成されているが、insertなどの処理も含めて一般化を考えると、以下の3種類の基本操作の組み合わせと解すべき

  • realloc - 後方領域の追加
  • move - 部分列の後方への移動(sequence途中に穴を開ける)
  • copy - sequenceの任意位置へのcontents列の上書き

3種のうちreallocはallocation APIとして実装済みなので、残り2種類を実装する

APIの基本形は

  • seq_move(seq, src-begin, src-end, dst-begin)
  • seq_copy(dst, dst-begin, src, src-begin, src-end)

書き込み先領域後端が、sequence containerからあふれる場合は、自動拡張される方が使い易いか?

また、大きなhole gapを開ける操作をサポートするにはdst-beginがsequnce contents後端より後ろを指すことを許容すべきだが、負のindexが指定された場合の解釈はどうするか?

現行仕様では、contents終端(n)と確保済みの長さ(nmax)を保持するのみで、realloc等で要求した長さは保持していない

_ [SAD]get*stkallのユースケース確認 (作業項目)

list containerの要素をスタックに展開するget*stkall系のユースケースを収集・分類し、sequence ulitityやiterator utilityの設計に反映させる


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記