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

Class template recursive_wrapper

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 template recursive_wrapper

boost::recursive_wrapper — Solves circular dependencies, enabling recursive types.

Synopsis

// In header: <boost/variant/recursive_wrapper.hpp>
template<typename T> 
class recursive_wrapper {
public:
  // types
  typedef T type;
  // construct/copy/destruct
  recursive_wrapper();
  recursive_wrapper(const recursive_wrapper &);
  recursive_wrapper(const T &);
  ~recursive_wrapper();
  // modifiers
  void swap(recursive_wrapper &);
  recursive_wrapper & operator=(const recursive_wrapper &);
  recursive_wrapper & operator=(const T &);
  // queries
  T & get();
  const T & get() const;
  T * get_pointer();
  const T * get_pointer() const;
};

Description

Шаблон класса recursive_wrapper имеет интерфейс, аналогичный простому контейнеру значений, но его содержание распределено динамически. Это позволяет recursive_wrapper удерживать типы T, чьи данные-члены приводят к круговой зависимости (например, член данных T имеет член данных типа T).

Применение recursive_wrapper проще всего понять в контексте. См. секцию под названием “ Рекурсивные типы с recursive_wrapper для демонстрации общего использования шаблона класса.

Заметки:

  • Любой тип, указанный как аргумент шаблона к recursive_wrapper должен быть способен на строительство через оператор новый. Так, например, ссылки не поддерживаются.

recursive_wrapper public construct/copy/destruct

  1. 1>

    >

    >> >

  • recursive_wrapper(const recursive_wrapper & другие);
    Copy buildor.

    Copies другие в *это.

    >>>>>>>>>>>>>>> >>>> >>> >>>>>>>
  • ~Рекурсивный_враппер();
    Деструктор.

    Исключает содержание *это.

  • Throws:

    337>
    Может потерпеть неудачу с любыми исключениями, вытекающими из копировального конструктора T или, в случае недостаточной памяти, с d::bad_alloc
  • >> >>>> >>>> >> > > >> >> >
  • >>>>>>>3>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • > >> >>> >>> >>>> >>>>>>> >> >>> >>>> >>>> >>>> >>>>>>>>>>>>2>>>>>>2>>>>>>2>>>
  • >>>>>>>2>>> >>> >>>>> >>> >>> >> >> >> >>>>> >>>>> >>>>> >>>>>>> >>>>
  • recursive_wrapper queries

    1. >>>>> >> T> &>> >>>>> >> >>> >> >>>> >>> >>>>> >>> >>> >>> 335>>
    2. >>>>>>>>>>>>>>>>>T>>>>>>>>>>>>>>>>>>>>>>>>>>4>>33>>>

    28>Throws:

    recursive_wrapper modifiers

    1. void swap(recursive_wrapper & другие);

      Exchanges contents of *this и other


    PrevUpHomeNext

    Статья Class template recursive_wrapper раздела 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 20:51:04/0.0088760852813721/1