◇ 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);