stl_ctra.h
上传用户:nizebo
上传日期:2022-05-14
资源大小:882k
文件大小:2k
源码类别:

STL

开发平台:

Visual C++

  1. /*
  2.  * Copyright (c) 1999
  3.  * Silicon Graphics Computer Systems, Inc.
  4.  *
  5.  * Permission to use, copy, modify, distribute and sell this software
  6.  * and its documentation for any purpose is hereby granted without fee,
  7.  * provided that the above copyright notice appear in all copies and
  8.  * that both that copyright notice and this permission notice appear
  9.  * in supporting documentation.  Silicon Graphics makes no
  10.  * representations about the suitability of this software for any
  11.  * purpose.  It is provided "as is" without express or implied warranty.
  12.  */ 
  13. // WARNING: This is an internal header file, included by other C++
  14. // standard library headers.  You should not attempt to use this header
  15. // file directly.
  16. #ifndef __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H
  17. #define __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H
  18. // This file contains a few small adapters that allow a character
  19. // traits class to be used as a function object.
  20. __STL_BEGIN_NAMESPACE
  21. template <class _Traits>
  22. struct _Eq_traits
  23.   : public binary_function<typename _Traits::char_type,
  24.                            typename _Traits::char_type,
  25.                            bool>
  26. {
  27.   bool operator()(const typename _Traits::char_type& __x,
  28.                   const typename _Traits::char_type& __y) const
  29.     { return _Traits::eq(__x, __y); }
  30. };
  31. template <class _Traits>
  32. struct _Eq_int_traits
  33.   : public binary_function<typename _Traits::char_type,
  34.                            typename _Traits::int_type,
  35.                            bool>
  36. {
  37.   bool operator()(const typename _Traits::char_type& __x,
  38.                   const typename _Traits::int_type& __y) const
  39.     { return _Traits::eq_int_type(_Traits::to_int_type(__x), __y); }
  40. };
  41. template <class _Traits>
  42. struct _Lt_traits
  43.   : public binary_function<typename _Traits::char_type,
  44.                            typename _Traits::char_type,
  45.                            bool>
  46. {
  47.   bool operator()(const typename _Traits::char_type& __x,
  48.                   const typename _Traits::char_type& __y) const
  49.     { return _Traits::lt(__x, __y); }
  50. };
  51. __STL_END_NAMESPACE
  52. #endif /* __SGI_STL_INTERNAL_CTRAITS_FUNCTIONS_H */
  53. // Local Variables:
  54. // mode:C++
  55. // End: