Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
>>>>>>>>>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
  • функция& оператор=(constфункция>>& f);
  • Class template function

    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 function

    boost::function — A generalized function pointer that can be used for callbacks or wrapping function objects.

    Synopsis

    // In header: <boost/function.hpp>
    template<typename Signature> 
    class function : public functionN<R, T1, T2, ..., TN> {
    public:
      // types
      typedef R  result_type;         
      typedef T1 argument_type;         // If N == 1
      typedef T1 first_argument_type;   // If N == 2
      typedef T2 second_argument_type;  // If N == 2
      typedef T1 arg1_type;           
      typedef T2 arg2_type;           
         .
         .
         .
      typedef TN argN_type;           
      // static constants
      static const int arity = N;
      // member classes/structs/unions
      // Lambda library support
      template<typename Args> 
      struct sig {
        // types
        typedef result_type type;
      };
      // construct/copy/destruct
      function();
      function(const functionN&);
      function(functionN&&);
      function(const function&);
      function(function&&);
      template<typename F> function(F);
      template<typename F, typename Allocator> function(F, Allocator);
      function& operator=(const functionN&);
      function& operator=(functionN&&);
      function& operator=(const function&);
      function& operator=(function&&);
      ~function();
      // modifiers
      void swap(const function&);
      void clear();
      // capacity
      bool empty() const;
      operator safe_bool() const;
      bool operator!() const;
      // target access
      template<typename Functor> Functor* target();
      template<typename Functor> const Functor* target() const;
      template<typename Functor> bool contains(const Functor&) const;
      const std::type_info& target_type() const;
      // invocation
      result_type operator()(arg1_type, arg2_type, ..., argN_type) const;
    };
    // specialized algorithms
    template<typename Signature> 
      void swap(function<Signature>&, function<Signature>&);
    // comparison operators
    template<typename Signature, typename Functor> 
      bool operator==(const function<Signature>&, Functor);
    template<typename Signature, typename Functor> 
      bool operator==(Functor, const function<Signature>&);
    template<typename Signature, typename Functor> 
      bool operator==(const function<Signature>&, reference_wrapper<Functor>);
    template<typename Signature, typename Functor> 
      bool operator==(reference_wrapper<Functor>, const function<Signature>&);
    template<typename Signature1, typename Signature2> 
      void operator==(const function<Signature1>&, const function<Signature2>&);
    template<typename Signature, typename Functor> 
      bool operator!=(const function<Signature>&, Functor);
    template<typename Signature, typename Functor> 
      bool operator!=(Functor, const function<Signature>&);
    template<typename Signature, typename Functor> 
      bool operator!=(const function<Signature>&, reference_wrapper<Functor>);
    template<typename Signature, typename Functor> 
      bool operator!=(reference_wrapper<Functor>, const function<Signature>&);
    template<typename Signature1, typename Signature2> 
      void operator!=(const function<Signature1>&, const function<Signature2>&);

    Description

    Шаблон класса функция - тонкая обертка вокруг шаблонов классов функция0, функция1 и т.д. Он принимает тип функции с аргументами N и будет происходить из функцииN, мгновенных с аргументами, которые он получает.

    Семантика всех операций в шаблоне класса функция эквивалентна семантике основного объекта функцииN, хотя требуются дополнительные функции-члены для обеспечения надлежащего копирования и копирования объектов функции.

    Template Parameters

    1. имя  Подписание

    function public construct/copy/destruct

    1. функция();
      Условия:

      25>
    2. > > > >> >> > > >> >> >
      19>
    3. > >>28>Согласно:<430>
    4. >>>>>>>
    5. >>>>>>>>>2>>>>>>>>>>>>>>>>>>>>2>>>>>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Если аргумент имеет свой объект функции, выделенный на кепке, его буфер будет назначен на *это, оставляя спор пустым.

      Throws:

      Не будет бросать, если только аргумент не имеет своего объекта функции, выделенного не на кучи и копирования цели f бросок.
    6. > >> >> >> > >> >> >> >
      19>
    >>>> >>>
  • функция(функция& f);
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Если аргумент имеет свой объект функции, выделенный на кепке, его буфер будет назначен на *это, оставляя спор пустым.

    >Потребования:

    29>
    С++1 скомпилятор.

    Throws:

    Не будет бросать, если только аргумент не имеет своего объекта функции, выделенного не на кучи и копирования цели f бросок.
  • >>>>>>>>>>>>>>>3>>>>>>
    >>>>>
  • >>30>>>30>>
  • Текулятор><имяФ,имя Аллокатор>14>ФФАллокатор>>>>2>>>>>>>>2>>2>2>2>2>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> F - это объект функции, вызываемый из этого, Allocator - это аллокатор. 
  • >> > >>> >>>>>> >>>>>

    Состояния:<3333>

    этот->пустый().
  • функции& оператор;
    >> >>>>>>
    >>>>>>>>>>>>>>2>>>>>>>>>>
    >>>>>>1>>>>>>2>>>>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Если аргумент имеет свой объект функции, выделенный на куча, его буфер будет назначен на *это

    Throws:

    Не бросайте, если только аргумент не имеет своего объекта функции, выделенного не на куча и копирования цели f бросков.
  • функция>>>>>>>>>>>>>>>28>30>Согласие:32>33> >>>>>>> это>пустое().
  • функции& оператор;>;>>>>;>>>;
    >>

    28>Покупки330>>

    С11> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Если аргумент имеет свой объект функции, выделенный на куча, его буфер будет назначен на *это

    Throws:

    Не бросайте, если только аргумент не имеет своего объекта функции, выделенного не на куча и копирования цели f бросков.
  • ~функция();
    <2324>Следы:

    Если !this->пусто, уничтожает цель

    function modifiers

    1. void swap(const функция& f);
      > >

      > >>>>

      >>
      >

      Effects:<32333>

      Интернет>
    2. void >>clear();
      <222>222>>

      function capacity

      1. > >> 2>>
        17>
      >> >> > > > >> >>> >>>> >>> >>>>> >>>> >>>>>> >> >>>>>> >>>>>> >>> > >>> > >>> >>>
    3. >>>2>>>>>2>>>>3>2>>>3>>2>>>3>2>>>20>>>20>>>2>>2>>2>>2>>>>>>2>>>>>2>>>>2>>>>2>>>2>>>>2>>>>2>>>>2>>>
    4. bool 1>оператор!>>>>>>>>>>>2>>>>2>>>2>>2>>>
    5. <2324>Постные условия:

      >>>>>28> <248>> > > >>
      >>>2>>>2>>>>>>>2>>>>>2>>>2>>>2>>>2>>>>38>

      function target access

      1. ФунтерФунтер>>Фунтер>>Фунтер>>>Фунтер>>>>>>>>>Фонт>>>>Фонт>>>>>>Фонт>>>>> В противном случае возвращает NULL pointer.

      Throws:

      Не бросайте.
    6. >>>>>12>13>=2>>>>2>>>>>>>>>>>>>>2>>>>2>>2>>2>>>2>>2>>3>>>>>>>>>
    7. > > >> >>>> > >> >
      >
    8. >>33333>

      function invocation

      1. > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > В противном случае, может через любое исключение, брошенное целевой функцией f.

    function specialized algorithms

    1. >>>>>>>>>>>>>>>2>>>>>>>>2>>>>2>>>>>>>2>>>>>>>>>>>>>>>

    function comparison operators

    1. >>>>.
    2. g не относится к типу reference_wrapper и function_equals(*(f.target()), g).

    Заметки:

    функция объекты не являются Равноправными.

    Обоснование:

    Преобразование safe_bool открывает лазейку, при которой две функции Примеры можно сравнить с помощью ==, хотя это невозможно реализовать. Неопределенный void оператор== закрывает лазейку и обеспечивает ошибку времени компиляции или времени ссылки.
  • >>>>>>>.
  • g не относится к типу reference_wrapper и ! function_equals(*(f.target()), g).
  • Заметки:

    функция объекты не являются Равноправными.

    Обоснование:

    Преобразование safe_bool открывает лазейку, при которой две функции !=, хотя это невозможно реализовать. Неопределенный оператор void!= закрывает лазейку и обеспечивает ошибку времени компиляции или времени ссылки.

    PrevUpHomeNext

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




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



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


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-07-04 12:30:07/0.0094940662384033/0