 ( const R &range )     {         return boost::algorithm::is_sorted ( boost::begin ( range ), boost::end ( range ));     }   /// /// -- Range based versions of the C++00 functions ///  /// \fn is_increasing ( ForwardIterator first, ForwardIterator last ) /// \return true if the entire sequence is increasing; i.e, each item is greater than or   ///     equal to the previous one. ///  /// \param first The start of the sequence to be tested. /// \param last  One past the end of the sequence /// /// \note This function will return true for sequences that contain items that compare ///     equal. If that is not what you intended, you should use is_strictly_increasing instead.     template <typename ForwardIterator>     bool is_increasing ( ForwardIterator first, ForwardIterator last )     {         typedef typename std::iterator_traits<ForwardIterator>::value_type value_type;         return boost::algorithm::is_sorted (first, last, std::less<value_type>());     }   /// \fn is_increasing ( const R &range ) /// \return true if the entire sequence is increasing; i.e, each item is greater than or   ///     equal to the previous one. ///  /// \param range The range to be tested. /// /// \note This function will return true for sequences that contain items that compare ///     equal. If that is not what you intended, you should use is_strictly_increasing instead.     template <typename R>     bool is_increasing ( const R &range )     {         return is_increasing ( boost::begin ( range ), boost::end ( range ));     }    /// \fn is_decreasing ( ForwardIterator first, ForwardIterator last ) /// \return true if the entire sequence is decreasing; i.e, each item is less than  ///     or equal to the previous one. ///  /// \param first The start of the sequence to be tested. /// \param last  One past the end of the sequence /// /// \note This function will return true for sequences that contain items that compare ///     equal. If that is not what you intended, you should use is_strictly_decreasing instead.     template <typename ForwardIterator>     bool is_decreasing ( ForwardIterator first, ForwardIterator last )     {         typedef typename std::iterator_traits<ForwardIterator>::value_type value_type;         return boost::algorithm::is_sorted (first, last, std::greater