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

Design Notes

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 был разработан для удовлетворения следующих требований пользователей:

  1. (R1)Boost.Convert должен обеспечивать механизм и интерфейс, которые принимают значение типа TypeIn и дают значение типа TypeOut с использованием алгоритма типа Converter;
  2. (R2) Boost.Convert должен обеспечивать механизм и интерфейс для указания на успешность или неудачу запрашиваемого преобразования;
  3. (R3)Boost.Convert должен обеспечивать полнофункциональные интерфейсы для двух различных программных потоков, где
    1. (R3a) обработка ошибок является ортогональной нормальному программному потоку (интерфейс выбрасывания исключений);
    2. (R3b) нормальные и обрабатывающие ошибки потоки являются частью одного и того же программного потока (небросной интерфейс);
  4. (R4) Бросающий интерфейс возвращает результат успешного преобразования или выбрасывает исключение;
  5. (R5) Интерфейс без броска возвращает результат и/или некоторое указание на успешность или неудачу преобразования;
    1. (R5a) должны быть средства для отличия успеха от неудачи;
    2. (R5b) результат преобразования должен быть доступен только при успешном преобразовании;
    3. (R5c) при сбое конверсии вместо этого возвращается необязательное значение запаса;
    4. (R5d) в случае неисправности (без резервного копирования) попытка получить результат приводит к исключению;
  6. (R6) Boost.Convert должен обеспечивать единый интерфейс, подходящий для общего программирования;
  7. (R7)Boost.Convert не должен вмешиваться или перехватывать любые исключения, которые не являются частью официального интерфейса преобразователя (т.е. исключения, вызванные неисправностью и т.д.);
  8. (R8) Конвертеры должны быть независимыми от инфраструктуры Boost.Convert.

PrevUpHomeNext

Статья Design Notes раздела 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 04:48:10/0.0037219524383545/0