Возврат: Если инициализированы x и y, (*x==). Если инициализировано только x или y, ложно. Если оба не инициализированы, истинно .
Примечания: Данное определение гарантирует, что опциональное > не содержащее значение, несравнимо с любым опциональным >, содержащим любое значение, и равно любому другому опциональному <> не содержащему значение. Указатели имеют неглубокие реляционные операторы, в то время как необязательно имеет глубокие реляционные операторы. Не используйте оператор== непосредственно в общем коде, который, как ожидается, будет предоставлен либо опционально<T> или указателем; используйте эквиваленты вместо
Пример:>>>>>><
boolоператор<T>const&x,optiontion>consty;
Требования: Выражение *x<*y должно быть хорошо сформировано и его результат должен быть конвертируемым в bool.
Возврат:(!y):(!x)y<y.
Примечания: Данное определение гарантирует, что опциональное> не содержащее значение упорядочено как меньшее, чем любое опциональное>Т, содержащее любое значение, и эквивалентное любому другому опциональное<> не содержащее значение. Указатели имеют неглубокие реляционные операторы, в то время как необязательно имеет глубокие реляционные операторы. Не используйте оператор< непосредственно в общем коде, который, как ожидается, будет предоставлен либо опционально<T>, либо указателем; используйте less_pointees(). T необязательно должно быть LessThanComparable. Требуется только один оператор<. Другие реляционные операции определяются в терминах этого. Если Tоператор < удовлетворяет аксиомам LessThanComparable (транзитивность, антисимметрия и нерефлексивность), optinal<T> является LessThanComparable.
Постусловия: x относится к тому, что y относится к перед свопом (если что-либо). y относится к любому x, упомянутому перед свопом.
Пример:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Статья Detailed Semantics - Free Functions раздела Boost.Optional Header <boost/optional/optional.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.