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

<
  • Постусловия: Состояния x и y взаимозаменяемы.
  • Броски: Если оба инициализированы, то все, что swap(T&,T&) бросает. Если инициализировано только одно, то все, что T::T ( T&& ) бросает.
  • Пример:def0optional;optY> swap>def0> def0> >>5>def0>>>5>def0>>>5>assert>>>>>>>>>>>>>
  • space

    void wap T>& x, optional<T>&

    • Постусловия: x относится к тому, что y относится к перед свопом (если что-либо). y относится к любому x, упомянутому перед свопом.
    • Пример:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Detailed Semantics - Free Functions

    Boost , Boost.Optional , Header <boost/optional/optional.hpp>

    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

    space

    необязательно>необязательно(Tconst&v

    • Возврат: опционально<T>(v) для выводимый тип T v.
    • Пример:класс>>>

    space

    необязательно>необязательно(boolусловие,T&v

    • Возврат: <T>(условие, v) для выводимыйтип T v.
    • Пример:>returnmake_optional(is_not_nan_and_finiteval);valvalvalval;>>>

    space

    bool операторT>const& xoptiontional>consty >;2>

    • Требования: T должны соответствовать требованиям Сравнимое с равенством.
    • Возврат: Если инициализированы x и y, (*x==). Если инициализировано только x или y, ложно. Если оба не инициализированы, истинно .
    • Примечания: Данное определение гарантирует, что опциональное > не содержащее значение, несравнимо с любым опциональным >, содержащим любое значение, и равно любому другому опциональному <> не содержащему значение. Указатели имеют неглубокие реляционные операторы, в то время как необязательно имеет глубокие реляционные операторы. Не используйте оператор== непосредственно в общем коде, который, как ожидается, будет предоставлен либо опционально<T> или указателем; используйте эквиваленты вместо
    • Пример:>>>>>><

    space

    bool оператор<T>const& x,optiontion>consty ;

    • Требования: Выражение *x < *y должно быть хорошо сформировано и его результат должен быть конвертируемым в bool.
    • Возврат:(!y) : (!x)y<y.
    • Примечания: Данное определение гарантирует, что опциональное> не содержащее значение упорядочено как меньшее, чем любое опциональное>Т, содержащее любое значение, и эквивалентное любому другому опциональное<> не содержащее значение. Указатели имеют неглубокие реляционные операторы, в то время как необязательно имеет глубокие реляционные операторы. Не используйте оператор< непосредственно в общем коде, который, как ожидается, будет предоставлен либо опционально<T>, либо указателем; используйте less_pointees(). T необязательно должно быть LessThanComparable. Требуется только один оператор<. Другие реляционные операции определяются в терминах этого. Если Tоператор < удовлетворяет аксиомам LessThanComparable (транзитивность, антисимметрия и нерефлексивность), optinal<T> является LessThanComparable.
    • Пример:>;3>>>> >>> >>>3>>>>3>>>>>>>3>>>>>3>>>>>3>>>>>3>>>>>3>>>>>7>>>>3>>>>>7>> Два неинициализированных эквивалентны assert oN_ oN ); assert oN ; o0 ; > > > > > >/3> > Два инициализированных сравнения: (*lhs < *rhs) assert ! (o2 ) o1) ; assert ! (o2) ;3>

    space

    bool оператор!=>const&x,optiontion<consty ;

    • Возврат: !( x == y );

    space

    bool операторT>const& xoptiontional>consty >

    • Возврат: ( y < x );

    space

    bool оператор>конст& x,опциональный>констy ;2>

    • Возврат: !( y < x );

    space

    bool оператор>T>const& x<const> y >;2>

    • Возврат: !( x < y );

    space

    bool оператор( необязательно<T>конст&x,none_t>за исключением;

    bool операторnone_t,необязательно<T>конст&x не исключая;

    space

    bool оператор != <T> конст& x, none_t>за исключением;

    bool оператор != none_t, необязательно<T> конст& x ;;

    • Возврат: bool(x);

    space

    auto get_pointer T>& o -> -> -> pointer_type

    auto get_pointer T>const& o> -> typename optional>::pointer_const_type ;<39

    • Возврат: o.get_ptr().
    • Броски: Ничего.

    space

    auto get_optional_value_or> o, typename>::reference_type reference_type def ;gt; typename>::reference_type;

    auto get_optional_value_or>, typename optional>::reference_const_type reference_const_type def> typename<::reference_const_type ;

    • Возврат:o.get_value_or(def).
    • Броски: Ничего.
    • Замечания: Эта функция обесценивается.

    space

    void wap T>& x, optional<y ;

    • Требования: Значения типа T должны быть сменными, а T должны быть MoveConstructible.

    PrevUpHomeNext

    Статья Detailed Semantics - Free Functions раздела Boost.Optional Header <boost/optional/optional.hpp> может быть полезна для разработчиков на c++ и boost.




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



    :: Главная :: Header <boost/optional/optional.hpp> ::


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-07-05 00:56:45/0.0060660839080811/0