Changeset 4182


Ignore:
Timestamp:
Jun 16, 2022, 2:20:19 AM (8 weeks ago)
Author:
Peter
Message:

avoid long lines

Location:
trunk/yat/utility
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/utility/OptionVersion.cc

    r4153 r4182  
    3838                                const std::string& version,
    3939                                const std::string& copyright_year,
    40                                 std::vector<std::string> authors,
     40                                const std::vector<std::string>& authors,
    4141                                const std::string& package,
    4242                                std::string name,
     
    4848  {
    4949    std::ostringstream os;
    50     print(os, authors_);
     50    print(os, authors_, 14);
    5151    copyright_holder_ = os.str();
    5252
     
    8383
    8484    std::ostringstream os;
    85     print(os, authors_);
     85    print(os, authors_, 14);
    8686    if (os.str() != copyright_holder_)
    87       std::cout << "\nWritten by " << os.str() << "\n";
     87      std::cout << "\nWritten by ";
     88    print(os, authors_, 11);
     89    std::cout << "\n";
    8890
    8991    exit(EXIT_SUCCESS);
     
    9294
    9395  void OptionVersion::print(std::ostream& os,
    94                             const std::vector<std::string>& names) const
     96                            const std::vector<std::string>& names,
     97                            size_t offset) const
    9598  {
    9699    for (size_t i=0; i<names.size(); ++i) {
    97       os << names[i];
    98       if (i+2 == names.size())
    99         os << " and ";
    100       else if (i+2 < names.size())
    101         os << ", ";
     100      if (i+1 == names.size())
     101        print(os, " and ", offset);
     102      else if (i)
     103        print(os, ", ", offset);
     104      print(os, names[i], offset);
    102105    }
    103106  }
    104107
    105108
     109  void OptionVersion::print(std::ostream& os, const std::string& str,
     110                            size_t& offset) const
     111  {
     112    if (offset + str.size() > 80) {
     113      os << "\n";
     114      size_t skip = str.find_first_not_of(" ");
     115      os << str.substr(skip);
     116      offset = str.size() - skip;
     117    }
     118    else {
     119      os << str;
     120      offset += str.size();
     121    }
     122  }
     123
    106124}}} // of namespace utility, yat, and theplu
  • trunk/yat/utility/OptionVersion.h

    r4153 r4182  
    7171                  const std::string& version,
    7272                  const std::string& copyright_year,
    73                   std::vector<std::string> authors,
     73                  const std::vector<std::string>& authors,
    7474                  const std::string& package="",
    7575                  std::string name="v,version",
     
    107107    std::string copyright_holder_;
    108108    std::string license_;
    109     void print(std::ostream& os, const std::vector<std::string>&) const;
     109    void print(std::ostream& os, const std::vector<std::string>&,
     110               size_t offset) const;
     111    void print(std::ostream& os, const std::string&, size_t& offset) const;
    110112  };
    111113
Note: See TracChangeset for help on using the changeset viewer.