Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. // -*- C++ -*-
  2.  
  3. // Copyright (C) 2007-2013 Free Software Foundation, Inc.
  4. //
  5. // This file is part of the GNU ISO C++ Library.  This library is free
  6. // software; you can redistribute it and/or modify it under the terms
  7. // of the GNU General Public License as published by the Free Software
  8. // Foundation; either version 3, or (at your option) any later
  9. // version.
  10.  
  11. // This library is distributed in the hope that it will be useful, but
  12. // WITHOUT ANY WARRANTY; without even the implied warranty of
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14. // General Public License for more details.
  15.  
  16. // Under Section 7 of GPL version 3, you are granted additional
  17. // permissions described in the GCC Runtime Library Exception, version
  18. // 3.1, as published by the Free Software Foundation.
  19.  
  20. // You should have received a copy of the GNU General Public License and
  21. // a copy of the GCC Runtime Library Exception along with this program;
  22. // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  23. // <http://www.gnu.org/licenses/>.
  24.  
  25. /** @file parallel/features.h
  26.  *  @brief Defines on whether to include algorithm variants.
  27.  *
  28.  *  Less variants reduce executable size and compile time.
  29.  *  This file is a GNU parallel extension to the Standard C++ Library.
  30.  */
  31.  
  32. // Written by Johannes Singler.
  33.  
  34. #ifndef _GLIBCXX_PARALLEL_FEATURES_H
  35. #define _GLIBCXX_PARALLEL_FEATURES_H 1
  36.  
  37. #ifndef _GLIBCXX_MERGESORT
  38. /** @def _GLIBCXX_MERGESORT
  39.  *  @brief Include parallel multi-way mergesort.
  40.  *  @see __gnu_parallel::_Settings::sort_algorithm */
  41. #define _GLIBCXX_MERGESORT 1
  42. #endif
  43.  
  44. #ifndef _GLIBCXX_QUICKSORT
  45. /** @def _GLIBCXX_QUICKSORT
  46.  *  @brief Include parallel unbalanced quicksort.
  47.  *  @see __gnu_parallel::_Settings::sort_algorithm */
  48. #define _GLIBCXX_QUICKSORT 1
  49. #endif
  50.  
  51. #ifndef _GLIBCXX_BAL_QUICKSORT
  52. /** @def _GLIBCXX_BAL_QUICKSORT
  53.  *  @brief Include parallel dynamically load-balanced quicksort.
  54.  *  @see __gnu_parallel::_Settings::sort_algorithm */
  55. #define _GLIBCXX_BAL_QUICKSORT 1
  56. #endif
  57.  
  58. #ifndef _GLIBCXX_FIND_GROWING_BLOCKS
  59. /** @brief Include the growing blocks variant for std::find.
  60.  *  @see __gnu_parallel::_Settings::find_algorithm */
  61. #define _GLIBCXX_FIND_GROWING_BLOCKS 1
  62. #endif
  63.  
  64. #ifndef _GLIBCXX_FIND_CONSTANT_SIZE_BLOCKS
  65. /** @brief Include the equal-sized blocks variant for std::find.
  66.  *  @see __gnu_parallel::_Settings::find_algorithm */
  67. #define _GLIBCXX_FIND_CONSTANT_SIZE_BLOCKS 1
  68. #endif
  69.  
  70. #ifndef _GLIBCXX_FIND_EQUAL_SPLIT
  71. /** @def _GLIBCXX_FIND_EQUAL_SPLIT
  72.  *  @brief Include the equal splitting variant for std::find.
  73.  *  @see __gnu_parallel::_Settings::find_algorithm */
  74. #define _GLIBCXX_FIND_EQUAL_SPLIT 1
  75. #endif
  76.  
  77.  
  78. #ifndef _GLIBCXX_TREE_INITIAL_SPLITTING
  79. /** @def _GLIBCXX_TREE_INITIAL_SPLITTING
  80.  *  @brief Include the initial splitting variant for
  81.  *  _Rb_tree::insert_unique(_IIter beg, _IIter __end).
  82.  *  @see __gnu_parallel::_Rb_tree */
  83. #define _GLIBCXX_TREE_INITIAL_SPLITTING 1
  84. #endif
  85.  
  86. #ifndef _GLIBCXX_TREE_DYNAMIC_BALANCING
  87. /** @def _GLIBCXX_TREE_DYNAMIC_BALANCING
  88.  *  @brief Include the dynamic balancing variant for
  89.  *  _Rb_tree::insert_unique(_IIter beg, _IIter __end).
  90.  *  @see __gnu_parallel::_Rb_tree */
  91. #define _GLIBCXX_TREE_DYNAMIC_BALANCING 1
  92. #endif
  93.  
  94. #ifndef _GLIBCXX_TREE_FULL_COPY
  95. /** @def _GLIBCXX_TREE_FULL_COPY
  96.  *  @brief In order to sort the input sequence of
  97.  *  _Rb_tree::insert_unique(_IIter beg, _IIter __end) a
  98.  *  full copy of the input elements is done.
  99.  *  @see __gnu_parallel::_Rb_tree */
  100. #define _GLIBCXX_TREE_FULL_COPY 1
  101. #endif
  102.  
  103.  
  104. #endif /* _GLIBCXX_PARALLEL_FEATURES_H */
  105.