Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class postconstructor_invoker

boost::signals2::postconstructor_invoker — Pass arguments to and run postconstructors for objects created with deconstruct().

Synopsis

// In header: <boost/signals2/deconstruct.hpp>


class postconstructor_invoker {
public:

  // public methods
  ();
   ();
  template<typename A1>  ();
  template<typename A1, typename A2> 
     (, );
  template<typename A1, typename A2, ..., typename AN> 
     (, , ..., );
};

Description

Objects of type postconstructor_invoker are returned by calls to the deconstruct() factory function. These objects are intended to either be immediately assigned to a shared_ptr (in which case the class' conversion operator will perform the conversion by calling the postconstruct with no arguments), or to be converted to shared_ptr explicitly by the user calling one of the postconstruct methods.

postconstructor_invoker public methods

  1. ();

    The conversion operator has the same effect as explicitly calling the postconstruct method with no arguments.

  2.  ();
    template<typename A1>  ( a1);
    template<typename A1, typename A2> 
       ( a1,  a2);
    template<typename A1, typename A2, ..., typename AN> 
       ( a1,  a2, ...,  aN);

    The postconstruct methods make an unqualified call to adl_postconstruct() and then return the shared_ptr which was wrapped inside the postconstructor_invoker object by deconstruct(). The first two arguments passed to the adl_postconstruct() call are always the shared_ptr owning the object created by deconstruct(), followed by a ordinary pointer to the same object. As a convenience, the ordinary pointer will always be cast to point to a non-const type before being passed to adl_postconstruct. The remaining arguments passed to adl_postconstruct are whatever arguments the user may have passed to the postconstruct method.


PrevUpHomeNext