File indexing completed on 2024-05-05 17:32:29

0001 // SPDX-FileCopyrightText: 2021 Jonah BrĂ¼chert <jbb@kaidan.im>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 #include "phonenumberlist.h"
0006 
0007 namespace ranges = std::ranges;
0008 
0009 PhoneNumberList::PhoneNumberList(const QString &phoneNumbers)
0010     : QVector<PhoneNumber>()
0011 {
0012     const auto individualNumbers = phoneNumbers.split(u'~', Qt::SkipEmptyParts);
0013     reserve(individualNumbers.size());
0014 
0015     ranges::transform(individualNumbers, std::back_inserter(*this), [](const QString &number) {
0016         return PhoneNumber(number);
0017     });
0018 }
0019 
0020 QString PhoneNumberList::toString() const
0021 {
0022     QStringList individualNumbers;
0023     individualNumbers.reserve(size());
0024 
0025     ranges::transform(*this, std::back_inserter(individualNumbers), [](const PhoneNumber &number) {
0026         return number.toInternational();
0027     });
0028 
0029     return individualNumbers.join(u'~');
0030 }