Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Beyond Basic Conversions

Boost , Chapter 1. Boost.Convert 2.0 , Chapter 1. Boost.Convert 2.0

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Интересным (и еще не полностью изученным) свойством описанного дизайна является то, чтоBoost.Convertне ограничивается конверсиями строка-тип и тип-струна. Интерфейс<boost::convert()>является типо-агностическим, и подключаемый преобразователь в конечном итоге определяет, какие типы преобразований доступны. Следовательно, можно решать широкий спектр задач, связанных с преобразованием и преобразованием, иразвертывать равномернос помощью подключаемых преобразователей специального назначения.

В качестве эксперимента приведенный ниже код (взятый изtest/encryption.cpp) не делает преобразования типа. Вместо этого применяется струнное преобразование:

string encrypted = boost::convert<string>("ABC", my_cypher).value();
string decrypted = boost::convert<string>(encrypted, my_cypher).value();
BOOST_ASSERT(encrypted == "123");
BOOST_ASSERT(decrypted == "ABC");

Оригинальная строка «ABC» сначала «зашифрована», а затем «123» «расшифрована» обратно в исходную форму «ABC».

Точно так же я лично не сразу вижу нежелательные струнные преобразования, такие как:

std::u8string utf8 = boost::convert<std::u8string>(utf32_str, cnv);
std::u8string utf8 = boost::convert<std::u8string>(mbcs_str, cnv);

PrevUpHomeNext

Статья Beyond Basic Conversions раздела Chapter 1. Boost.Convert 2.0 Chapter 1. Boost.Convert 2.0 может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 1. Boost.Convert 2.0 ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:14:25/0.0052340030670166/1