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

Custom String Types

Boost , Chapter 1. Boost.Convert 2.0 , Supported String Types

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::cnv::stream>принимает пользовательские строки и струнные типы в качестве ввода или вывода, если они удовлетворяют определенным требованиям.

boost::cnv::cstream cnv;
my_string        my_str("123");
cnv(std::setprecision(2))(std::fixed);
BOOST_TEST(convert<int>(my_str, cnv).value_or(0) == 123);
BOOST_TEST(convert<my_string>( 99.999, cnv).value_or("bad") == "100.00");
BOOST_TEST(convert<my_string>( 99.949, cnv).value_or("bad") ==  "99.95");
BOOST_TEST(convert<my_string>(-99.949, cnv).value_or("bad") == "-99.95");

Если источником является струнный тип, то он должен представлять собойнепрерывную последовательностьсоответствующего типа символов (<char>или<wchar_t>), доступную через<begin()>и<end()>.

<std::stringstream>реализован полностью в терминах<std::basic_streambuf>, который, в свою очередь, работает насмежных последовательностях символов, также называемых буфером(см.<std::basic_streambuf>для деталей). По соображениям эффективности<boost::cnv::stream>использует предоставленную (только для чтения) входную строку в качестве буфераи, следовательно, требует, чтобы предоставленная входная строка была последовательной последовательностью символов.

Когда струна является целью, то описаннаянепрерывная последовательность символовне применяется. Любой тип, который обеспечивает

MyType::MyType(char const* beg, char const* end)

Конструктор может быть развернут в преобразованиях типа в строку.

Большая картинаглава для обсуждения потенциальных преимуществ развертывания пользовательских строк.


PrevUpHomeNext

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




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



:: Главная :: Supported String Types ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:49:35/0.006364107131958/0