auriemma    00/11/29 13:18:08

  Modified:    c/src/PlatformSupport STLHelper.hpp
  Log:
  HP port based on work from Trevor Smigiel and Troy Heber.
  
  Revision  Changes    Path
  1.14      +59 -4     xml-xalan/c/src/PlatformSupport/STLHelper.hpp
  
  Index: STLHelper.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/STLHelper.hpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- STLHelper.hpp     2000/11/27 21:43:16     1.13
  +++ STLHelper.hpp     2000/11/29 21:18:06     1.14
  @@ -79,6 +79,15 @@
   struct DeleteFunctor : public std::unary_function<const T*, void>
   #endif
   {
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef unary_function<const T*, void>  BaseClassType;
  +#else
  +     typedef std::unary_function<const T*, void>     BaseClassType;
  +#endif
  +
  +     typedef typename BaseClassType::result_type             result_type;
  +     typedef typename BaseClassType::argument_type   argument_type;
  +
        /**
         * Delete the object pointed to by argument.
         *
  @@ -110,8 +119,17 @@
   struct select1st : public std::unary_function<PairType, PairType::first_type>
   #endif
   {
  -     typedef typename PairType       value_type;
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef unary_function<PairType, PairType::first_type>  BaseClassType;
  +#else
  +     typedef std::unary_function<PairType, PairType::first_type>     
BaseClassType;
  +#endif
   
  +     typedef typename BaseClassType::result_type             result_type;
  +     typedef typename BaseClassType::argument_type   argument_type;
  +
  +     typedef typename PairType                                               
value_type;
  +
        /**
         * Retrieve the key of a key-value pair.
         *
  @@ -138,7 +156,16 @@
   struct select2nd : public std::unary_function<PairType, 
PairType::second_type>
   #endif
   {
  -     typedef typename PairType       value_type;
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef unary_function<PairType, PairType::second_type> BaseClassType;
  +#else
  +     typedef std::unary_function<PairType, PairType::second_type>    
BaseClassType;
  +#endif
  +
  +     typedef typename BaseClassType::result_type             result_type;
  +     typedef typename BaseClassType::argument_type   argument_type;
  +
  +     typedef typename PairType                                               
value_type;
   
        /**
         * Retrieve the value of a key-value pair.
  @@ -162,11 +189,20 @@
    */
   template <class T>
   #if defined(XALAN_NO_NAMESPACES)
  -struct MapValueDeleteFunctor : public unary_function<const T::value_type&, 
void>
  +struct MapValueDeleteFunctor : public unary_function<const typename 
T::value_type&, void>
   #else
   struct MapValueDeleteFunctor : public std::unary_function<const typename 
T::value_type&, void>
   #endif
   {
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef unary_function<const typename T::value_type&, void>             
BaseClassType;
  +#else
  +     typedef std::unary_function<const typename T::value_type&, void>        
BaseClassType;
  +#endif
  +
  +     typedef typename BaseClassType::result_type             result_type;
  +     typedef typename BaseClassType::argument_type   argument_type;
  +
        /**
         * Delete the value object in a map value pair.  The value of the pair 
must
         * be of pointer type.
  @@ -193,11 +229,20 @@
   
   template <class T>
   #if defined(XALAN_NO_NAMESPACES)
  -struct MapKeyDeleteFunctor : public unary_function<const T::value_type&, 
void>
  +struct MapKeyDeleteFunctor : public unary_function<const typename 
T::value_type&, void>
   #else
   struct MapKeyDeleteFunctor : public std::unary_function<const typename 
T::value_type&, void>
   #endif
   {
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef unary_function<const typename T::value_type&, void>             
BaseClassType;
  +#else
  +     typedef std::unary_function<const typename T::value_type&, void>        
BaseClassType;
  +#endif
  +
  +     typedef typename BaseClassType::result_type             result_type;
  +     typedef typename BaseClassType::argument_type   argument_type;
  +
        /**
         * Delete the value object in a map value pair.  The value of the pair 
must
         * be of pointer type.
  @@ -238,6 +283,16 @@
   struct less_null_terminated_arrays : public std::binary_function<const T*, 
const T*, bool>
   #endif
   {
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef binary_function<const T*, const T*, bool>                       
BaseClassType;
  +#else
  +     typedef std::binary_function<const T*, const T*, bool>          
BaseClassType;
  +#endif
  +
  +     typedef typename BaseClassType::result_type                             
result_type;
  +     typedef typename BaseClassType::first_argument_type             
first_argument_type;
  +     typedef typename BaseClassType::second_argument_type    
second_argument_type;
  +
        /**
         * Compare the values of two objects.
         *
  
  
  

Reply via email to