
目次 [INDEX]
◇ prevectorとは?
std::vectorと同じ作用を持ちますが
すべてが動的処理ではなく先頭よりnバイトまでが固定長となります。
そして、std::vectorと同じメソッドが実装される「独自定義クラス」です。
ブロックチェーンの主に「スクリプトの処理」ではサイズが決まっている場合が多いため、
このprevectorを使うとパフォーマンスが向上いたします。
もちろん固定長分を超えてしまっても大丈夫です。
自動的にstd::vectorと同じ「可変長」になります。
型は以下の通りです。
例えば、固定長28バイトのuint8_tなら、
prevector<28, uint8_t>です。
template <unsigned int N, typename T, typename Size = uint32_t, typename Diff = int32_t> class prevector
◇ サンプルコード
prevector<28, uint8_t> test;
test.push_back('n');
test.push_back('e');
test.push_back('k');
test.push_back('o');
for(auto mi = test.begin(); mi!=test.end(); ++mi)
::fprintf(stdout, "%c\n", *mi);
