This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/39546] parallel mode doesn't support implicit string conversion



------- Comment #9 from singler at gcc dot gnu dot org  2009-03-31 16:41 -------
We have duplicated binders because they have a changed parametrization, as
needed for parallel mode usage:


/**
  *  @brief Similar to std::binder2nd, but giving the argument types
  *  explicitly.
  */
template<typename _Operation, typename first_argument_type,
         typename second_argument_type, typename result_type>
  class binder2nd


/** @brief Similar to std::binder1st,
  *  but giving the argument types explicitly. */
template<typename _Predicate, typename argument_type>
  class unary_negate


/** @brief Similar to std::equal_to, but allows two different types. */
template<typename T1, typename T2>
  struct equal_to : std::binary_function<T1, T2, bool>


and so on.  We could give them more different names to avoid conflicts, but at
least they are encapsulated in __gnu_parallel (uglifying the names would also
help).  Basically, both patches change things by taking the argument by const
reference, instead of by value.  The first one has the indirection of
binder2nd, while the second directly uses an adapted version of equal_to.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo dot carlini at oracle
                   |                            |dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39546


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]