環境依存で悩む場所じゃないだろこんなの。
size_type size() const;なんだからsize_typeで受けるのが当たり前。
size_tはまだ許せるとして、なんでintやunsignedを持ち出すの?