const

ぬぁ、そうか。 const 性はやっかいだ。
以下のようなクラスとメソッドがあるとして...

template <class T>
struct Something
{
  void DoIt()
  {
    T value = 0;
    value = 何か;
  };
};

T に const な型を指定すると、メソッド DoIt で value へ代入する所でコンパイルエラーとなる。
うむむ。
こうできるようになれば良い分けか...

const char* p = "(base|drum)+";
char_iterator<char> it(p);

それとも、こうすれば良い?

const char* p = "(base|drum)+";
const char_iterator<char> it(p); // p は const なんだから it も const にせよ!

STL ってどうだっけ?試してみればいいのか。

std::vector<char> v;
v.push_back('a');
...
v.push_back('z');
cosnt std::vector<char> cv(v);

なんかおかしいな。STL はコンテナが iterator を供給してくれるからなぁ。
今日はもう寝よう zzz