# features.h

Go to the documentation of this file.

    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(InputIterator beg, InputIterator 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(InputIterator beg, InputIterator 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(InputIterator beg, InputIterator 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 */