Blame view

3rdparty/boost_1_81_0/libs/locale/examples/collate.cpp 919 Bytes
73ef4ff3   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  //
  // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
  //
  // Distributed under the Boost Software License, Version 1.0.
  // https://www.boost.org/LICENSE_1_0.txt
  
  #include <iostream>
  #include <set>
  #include <string>
  
  #include <boost/locale.hpp>
  
  using namespace boost::locale;
  
  int main()
  {
      generator gen;
      std::locale::global(gen(""));
      /// Set global locale to requested
  
      /// Create a set that includes all strings sorted in alphabetical order
      /// std::locale can be used as object for comparison
      typedef std::set<std::string, std::locale> set_type;
      set_type all_strings;
  
      /// Read all strings into the set
      while(!std::cin.eof()) {
          std::string tmp;
          std::getline(std::cin, tmp);
          all_strings.insert(tmp);
      }
      /// Print them out
      for(set_type::iterator p = all_strings.begin(); p != all_strings.end(); ++p) {
          std::cout << *p << std::endl;
      }
  }