0 / 0 / 0
Регистрация: 22.11.2020
Сообщений: 42
1

Проверка валидности boost итератора

15.08.2021, 11:19. Показов 16904. Ответов 1

Author24 — интернет-сервис помощи студентам
Проблема:
Как выяснить валиден ли итератор после поиска, для того чтобы его использовать или не использовать ?
C++
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <fstream>
#include <ctime>
#include <string>
#include <string_view>
#include <cctype>
#include <cmath>
#include <chrono>
#include <iomanip>
#include <vector>
#include <map>
#include <list>
#include <set>
#include <mutex>
#include <algorithm>
#include <deque>
#include <forward_list>
#include <unordered_set>
#include <unordered_map>
#include <stack>
#include <queue>
#include <iterator>
#include <sstream>
#include <cassert>
#include <stdexcept>
#include <cstdlib>
#include <io.h>
#include <fcntl.h>
#include <codecvt>
#include <valarray>
#include <functional>
#include <numeric>
#include <random>
#include <limits>
#include <complex>
#include <regex>
#include <ratio>
#include <optional>
#include <any>
#include <variant>
#include <execution>
#include <thread>
#include <shared_mutex>
#include <future>
#include <condition_variable>
#include <filesystem>
#include <typeinfo>
#include <type_traits>
#include <utility>
#include <memory>
#include <locale>
#include <atomic>
#include <boost/type_index.hpp>
#include <boost/variant.hpp>
#include <boost/regex.hpp>
#include <boost/bimap.hpp>
#include <boost/bimap/multiset_of.hpp>
#include <boost/bimap/unordered_multiset_of.hpp>
#include <boost/bimap/unordered_set_of.hpp>
#include <boost/bimap/unconstrained_set_of.hpp>
#include <boost/bimap/support/lambda.hpp>
 
void setRussianLanguage() {
    try {
        std::locale::global(std::locale{"ru_RU.UTF8"}); /// OS Linux (GCC)
    } catch (...) {
        setlocale(LC_ALL, "Russian"); /// OS Windows (MinGW, clang)
    }
    std::locale::global(std::locale{std::locale{}, new std::ctype <wchar_t>{}});
    std::locale::global(std::locale{std::locale{}, new std::codecvt_utf8_utf16<wchar_t>{}});
    _setmode(fileno(stdout), O_TEXT);
    _setmode(fileno(stdin), O_TEXT);
    _setmode(fileno(stderr), O_TEXT);
}
 
int main() {
    setRussianLanguage();
    using namespace std;
    namespace b = boost;
    /**
     * уникальное имя, неуникальное число
     */
    using bimap = b::bimap <
            std::wstring,
            b::bimaps::unordered_multiset_of <std::size_t>
    >;
    bimap coll;
    coll.insert({L"MR", 0});
    auto itF{coll.left.find(L"MR")}; /// Валиден ли итератор ???
    coll.left.modify_key(itF, b::bimaps::_key = L"-MR-");
    wcout << L"Изменённое значение: " << itF->first << endl;
    system("pause");
    return 0;
}
Желаемая семантика:

C++
1
2
3
4
5
6
auto itF{coll.left.find(L"MR")};
    /// Валиден ли итератор ???
    if (itF) {
        coll.left.modify_key(itF, b::bimaps::_key = L"-MR-");
        wcout << L"Изменённое значение: " << itF->first << endl;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2021, 11:19
Ответы с готовыми решениями:

Вввод данных и проверка соответствия шаблону (boost)
Приветствую всех, запускается программа с параметрами. НУЖНО: проверка параметров на...

Проверка валидности библиотеки
Вечер добрый. Прошу помочь по достаточно простому вопросу. У меня есть динамическая библиотека....

Проверка валидности в libxml++
Подскажите, как с помощью этой библиотеки можно проверить валидность документа на соответствие XML....

Проверка валидности указателя
Привет! Есть ли в С++ нормальный метод проверки валидности указателя? Разумеется, что бы софт при...

1
18813 / 9818 / 2400
Регистрация: 30.01.2014
Сообщений: 17,244
15.08.2021, 18:22 2
https://www.boost.org/doc/libs... ews.lookup
Effects: Returns a pointer to an element whose key is equivalent to x, or end() if such an element does not exist.
0
15.08.2021, 18:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2021, 18:22
Помогаю со студенческими работами здесь

Проверка валидности даты
Данный код берёт нынешнюю дату с компьютера. Можете подсказать, как сделать проверку...

regex , проверка валидности эмаила
Приветствую. Помогите пожалуйста, вот предоставляю код ( он проверяет валидность эмаила), но еще...

TableView проверка валидности введенного значения
Штатным сигналом не вижу как делается. Чтобы по нажатии ввода в ячейку, вызывался метод проверки,...

Проверка итератора
как проверить указывает ли на что либо итератор или он уже неправильный?

сравнение итератора вектора и итератора map
Здравствуйте не понимаю где ошибка. НУжно вывести в файл шифр (слова заменяются ца числа), в...

Проверка валидности по id
Назрел такой вопрос: Видел тему о проверке валидности мыла,где при правильном вводе бекграунд поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru