Listing 1: Separate namespace implementation

// in stlsoft_frame_string.h
namespace stlsoft
{
  template <...>
  basic_frame_string
  {
    ...
  };
}

// in unixstl_readdir_sequence.h
namespace unixstl
{
  class readdir_sequence
  {
  public:
    typedef stlsoft::basic_frame_string < char
                                        , NAME_MAX
                                        >   string_type;
    ...
  };
}

// implementation file
int main(int argc, char **argv)
{
  unixstl::readdir_sequence   entries(argv[1]);  

  std::for_each(entries.begin(), entries.end(), ...);

  ...
}