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

Class any

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

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

Class any

boost::any — A class whose instances can hold instances of any type that satisfies ValueType requirements.

Synopsis

// In header: <boost/any.hpp>

class any {
public:
  // construct/copy/destruct
  any();
  any(const any &);
  any(any &&);
  template<typename ValueType> any(const ValueType &);
  template<typename ValueType> any(ValueType &&);
  any & operator=(const any &);
  any & operator=(any &&);
  template<typename ValueType> any & operator=(const ValueType &);
  template<typename ValueType> any & operator=(ValueType &&);
  ~any();
  // modifiers
  any & swap(any &);
  // queries
  bool empty() const;
  const std::type_info & type() const;
};

Description

any public construct/copy/destruct

  1. <
    any();
    >

    Постусловия:

    <this->empty()>
  2. <
    any(constany&other);
    >

    Эффекты:

    Конструктор копирования, который копирует содержание<other>в новый экземпляр, так что любое содержание эквивалентно как по типу, так и по значению содержанию<other>или пусто, если<other>пусто.

    Броски:

    Могут потерпеть неудачу с исключением<std::bad_alloc>или любыми исключениями, вытекающими из конструктора копий содержащегося типа.
  3. <
    any(any&&other);
    >

    Эффекты:

    Переместите конструктор, который перемещает содержимое<other>в новый экземпляр и оставляет<other>пустым.

    Пост-условия:

    <other->empty()>

    Броски:

    Ничего.
  4. <
    template<typenameValueType>any(constValueType&value);
    >

Эффекты:

Изготовляет копию<value>, так что начальное содержание нового экземпляра эквивалентно как по типу, так и по значению<value>.

Бросает:

<std::bad_alloc>или любые исключения, возникающие из конструктора копии содержащегося типа.
  • <
    template<typenameValueType>any(ValueType&&value);
    >

    Эффекты:

    Вперед<value>, так что начальное содержание нового экземпляра эквивалентно как по типу, так и по значению<value>перед форвардом.

    Броски:

    <std::bad_alloc>или любые исключения, возникающие из конструктора копий содержащегося типа.
  • <
    any&operator=(constany&rhs);
    >

    Эффекты:

    Копии содержимого<rhs>в текущий экземпляр, отбрасывая предыдущее содержимое, так что новое содержимое эквивалентно по типу и значению содержанию<rhs>, или пусто, если<rhs.empty()>.

    Бросает:

    <std::bad_alloc>или любые исключения, возникающие из конструктора копий содержащегося типа. Назначение удовлетворяет сильной гарантии безопасности исключения.
  • <
    any&operator=(any&&rhs);
    >

    Бросает:

    Эффекты:

    Переносит содержимое<rhs>в текущий экземпляр, отбрасывая предыдущее содержимое, так что новое содержимое эквивалентно по типу и значению содержанию<rhs>перед перемещением, или пусто, если<rhs.empty()>

    Пост-условия:

    Ничего.
  • <
    template<typenameValueType>any&operator=(constValueType&rhs);
    >

    Эффекты:

    Составляет копию<rhs>, отбрасывая предыдущий контент, так что новый контент эквивалентен по типу и значению<rhs>.

    Броски:

    <std::bad_alloc>или любые исключения, вытекающие из конструктора копий содержащегося типа. Назначение удовлетворяет твердой гарантии безопасности исключения.
  • <
    template<typenameValueType>any&operator=(ValueType&&rhs);
    >

    Эффекты:

    Вперед<rhs>, отбрасывая предыдущий контент, так что новый контент эквивалентен по типу и значению<rhs>перед пересылкой.

    Броски:

    <std::bad_alloc>или любые исключения, возникающие в результате перемещения или копирования конструктора содержащегося типа. Назначение удовлетворяет сильной гарантии безопасности исключения.
  • <
    ~any();
    >

    Эффекты:

    Выпускает любые и все ресурсы, используемые в управлении экземпляром.

    Бросает:

    Ничего.
  • any modifiers

    1. <
      any&swap(any&rhs);
      >

      Эффекты:

      Обмен содержимым<*this>и<rhs>.

      Возврат:

      <*this>

      Бросок:

      Ничего.

    any queries

    1. <
      boolempty()const;
      >

      Возвращается:

      <true>, если экземпляр пуст, в противном случае<false>.

      Бросает:

      Ничего.
    2. <
      conststd::type_info&type()const;
      >

      Возврат:

      <typeid>содержащегося значения, если экземпляр не пуст, в противном случае<typeid(void)>

      Примечание:

      Полезно для запроса на типы, известные либо во время компиляции, либо только во время выполнения.

    PrevUpHomeNext

    Статья Class any раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




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



    :: Главная :: Reference ::


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-19 19:21:15/0.02910590171814/1