164ab3302SCarolineConcatto //===-- lib/Parser/char-set.cpp -------------------------------------------===// 264ab3302SCarolineConcatto // 364ab3302SCarolineConcatto // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 464ab3302SCarolineConcatto // See https://llvm.org/LICENSE.txt for license information. 564ab3302SCarolineConcatto // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 664ab3302SCarolineConcatto // 764ab3302SCarolineConcatto //===----------------------------------------------------------------------===// 864ab3302SCarolineConcatto 964ab3302SCarolineConcatto #include "flang/Parser/char-set.h" 1064ab3302SCarolineConcatto 1164ab3302SCarolineConcatto namespace Fortran::parser { 1264ab3302SCarolineConcatto ToString() const1364ab3302SCarolineConcattostd::string SetOfChars::ToString() const { 1464ab3302SCarolineConcatto std::string result; 1564ab3302SCarolineConcatto SetOfChars set{*this}; 1664ab3302SCarolineConcatto for (char ch{' '}; !set.empty(); ++ch) { 1764ab3302SCarolineConcatto if (set.Has(ch)) { 1864ab3302SCarolineConcatto set = set.Difference(ch); 1964ab3302SCarolineConcatto result += ch; 2064ab3302SCarolineConcatto } 2164ab3302SCarolineConcatto } 2264ab3302SCarolineConcatto return result; 2364ab3302SCarolineConcatto } 24*1f879005STim Keith } // namespace Fortran::parser 25