#pragma once

namespace std {
  template<class charT> class char_traits;
  template<> class char_traits<char>;
  template<> class char_traits<char16_t>;
  template<> class char_traits<char32_t>;
  template<> class char_traits<wchar_t>;

  template<class charT, class traits = char_traits<charT> > class basic_streambuf;

  typedef basic_streambuf<char> streambuf;
  typedef basic_streambuf<wchar_t> wstreambuf;
}
