libstdc++
|
00001 // -*- C++ -*- 00002 00003 // Copyright (C) 2007, 2009 Free Software Foundation, Inc. 00004 // 00005 // This file is part of the GNU ISO C++ Library. This library is free 00006 // software; you can redistribute it and/or modify it under the terms 00007 // of the GNU General Public License as published by the Free Software 00008 // Foundation; either version 3, or (at your option) any later 00009 // version. 00010 00011 // This library is distributed in the hope that it will be useful, but 00012 // WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 // General Public License for more details. 00015 00016 // Under Section 7 of GPL version 3, you are granted additional 00017 // permissions described in the GCC Runtime Library Exception, version 00018 // 3.1, as published by the Free Software Foundation. 00019 00020 // You should have received a copy of the GNU General Public License and 00021 // a copy of the GCC Runtime Library Exception along with this program; 00022 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 00023 // <http://www.gnu.org/licenses/>. 00024 00025 /** @file parallel/features.h 00026 * @brief Defines on whether to include algorithm variants. 00027 * 00028 * Less variants reduce executable size and compile time. 00029 * This file is a GNU parallel extension to the Standard C++ Library. 00030 */ 00031 00032 // Written by Johannes Singler. 00033 00034 #ifndef _GLIBCXX_PARALLEL_FEATURES_H 00035 #define _GLIBCXX_PARALLEL_FEATURES_H 1 00036 00037 #ifndef _GLIBCXX_MERGESORT 00038 /** @def _GLIBCXX_MERGESORT 00039 * @brief Include parallel multi-way mergesort. 00040 * @see __gnu_parallel::_Settings::sort_algorithm */ 00041 #define _GLIBCXX_MERGESORT 1 00042 #endif 00043 00044 #ifndef _GLIBCXX_QUICKSORT 00045 /** @def _GLIBCXX_QUICKSORT 00046 * @brief Include parallel unbalanced quicksort. 00047 * @see __gnu_parallel::_Settings::sort_algorithm */ 00048 #define _GLIBCXX_QUICKSORT 1 00049 #endif 00050 00051 #ifndef _GLIBCXX_BAL_QUICKSORT 00052 /** @def _GLIBCXX_BAL_QUICKSORT 00053 * @brief Include parallel dynamically load-balanced quicksort. 00054 * @see __gnu_parallel::_Settings::sort_algorithm */ 00055 #define _GLIBCXX_BAL_QUICKSORT 1 00056 #endif 00057 00058 #ifndef _GLIBCXX_FIND_GROWING_BLOCKS 00059 /** @brief Include the growing blocks variant for std::find. 00060 * @see __gnu_parallel::_Settings::find_algorithm */ 00061 #define _GLIBCXX_FIND_GROWING_BLOCKS 1 00062 #endif 00063 00064 #ifndef _GLIBCXX_FIND_CONSTANT_SIZE_BLOCKS 00065 /** @brief Include the equal-sized blocks variant for std::find. 00066 * @see __gnu_parallel::_Settings::find_algorithm */ 00067 #define _GLIBCXX_FIND_CONSTANT_SIZE_BLOCKS 1 00068 #endif 00069 00070 #ifndef _GLIBCXX_FIND_EQUAL_SPLIT 00071 /** @def _GLIBCXX_FIND_EQUAL_SPLIT 00072 * @brief Include the equal splitting variant for std::find. 00073 * @see __gnu_parallel::_Settings::find_algorithm */ 00074 #define _GLIBCXX_FIND_EQUAL_SPLIT 1 00075 #endif 00076 00077 00078 #ifndef _GLIBCXX_TREE_INITIAL_SPLITTING 00079 /** @def _GLIBCXX_TREE_INITIAL_SPLITTING 00080 * @brief Include the initial splitting variant for 00081 * _Rb_tree::insert_unique(_IIter beg, _IIter __end). 00082 * @see __gnu_parallel::_Rb_tree */ 00083 #define _GLIBCXX_TREE_INITIAL_SPLITTING 1 00084 #endif 00085 00086 #ifndef _GLIBCXX_TREE_DYNAMIC_BALANCING 00087 /** @def _GLIBCXX_TREE_DYNAMIC_BALANCING 00088 * @brief Include the dynamic balancing variant for 00089 * _Rb_tree::insert_unique(_IIter beg, _IIter __end). 00090 * @see __gnu_parallel::_Rb_tree */ 00091 #define _GLIBCXX_TREE_DYNAMIC_BALANCING 1 00092 #endif 00093 00094 #ifndef _GLIBCXX_TREE_FULL_COPY 00095 /** @def _GLIBCXX_TREE_FULL_COPY 00096 * @brief In order to sort the input sequence of 00097 * _Rb_tree::insert_unique(_IIter beg, _IIter __end) a 00098 * full copy of the input elements is done. 00099 * @see __gnu_parallel::_Rb_tree */ 00100 #define _GLIBCXX_TREE_FULL_COPY 1 00101 #endif 00102 00103 00104 #endif /* _GLIBCXX_PARALLEL_FEATURES_H */