43 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
algo.h — 78.77 KB
2025-09-15 15:41 · rw-r--r--
78.77 KB 2025-09-15 15:41 rw-r--r--
algobase.h — 17.93 KB
2025-09-15 15:41 · rw-r--r--
17.93 KB 2025-09-15 15:41 rw-r--r--
algorithm — 1.35 KB
2025-09-15 15:41 · rw-r--r--
1.35 KB 2025-09-15 15:41 rw-r--r--
algorithmfwd.h — 31.55 KB
2025-09-15 15:41 · rw-r--r--
31.55 KB 2025-09-15 15:41 rw-r--r--
balanced_quicksort.h — 16.55 KB
2025-09-15 15:41 · rw-r--r--
16.55 KB 2025-09-15 15:41 rw-r--r--
base.h — 12.13 KB
2025-09-15 15:41 · rw-r--r--
12.13 KB 2025-09-15 15:41 rw-r--r--
basic_iterator.h — 1.55 KB
2025-09-15 15:41 · rw-r--r--
1.55 KB 2025-09-15 15:41 rw-r--r--
checkers.h — 2.18 KB
2025-09-15 15:41 · rw-r--r--
2.18 KB 2025-09-15 15:41 rw-r--r--
compatibility.h — 3.7 KB
2025-09-15 15:41 · rw-r--r--
3.7 KB 2025-09-15 15:41 rw-r--r--
compiletime_settings.h — 2.8 KB
2025-09-15 15:41 · rw-r--r--
2.8 KB 2025-09-15 15:41 rw-r--r--
equally_split.h — 3.28 KB
2025-09-15 15:41 · rw-r--r--
3.28 KB 2025-09-15 15:41 rw-r--r--
features.h — 3.46 KB
2025-09-15 15:41 · rw-r--r--
3.46 KB 2025-09-15 15:41 rw-r--r--
find.h — 13.27 KB
2025-09-15 15:41 · rw-r--r--
13.27 KB 2025-09-15 15:41 rw-r--r--
find_selectors.h — 6.83 KB
2025-09-15 15:41 · rw-r--r--
6.83 KB 2025-09-15 15:41 rw-r--r--
for_each.h — 3.85 KB
2025-09-15 15:41 · rw-r--r--
3.85 KB 2025-09-15 15:41 rw-r--r--
for_each_selectors.h — 10.32 KB
2025-09-15 15:41 · rw-r--r--
10.32 KB 2025-09-15 15:41 rw-r--r--
iterator.h — 5.54 KB
2025-09-15 15:41 · rw-r--r--
5.54 KB 2025-09-15 15:41 rw-r--r--
list_partition.h — 6.39 KB
2025-09-15 15:41 · rw-r--r--
6.39 KB 2025-09-15 15:41 rw-r--r--
losertree.h — 27.92 KB
2025-09-15 15:41 · rw-r--r--
27.92 KB 2025-09-15 15:41 rw-r--r--
merge.h — 9.35 KB
2025-09-15 15:41 · rw-r--r--
9.35 KB 2025-09-15 15:41 rw-r--r--
multiseq_selection.h — 21.56 KB
2025-09-15 15:41 · rw-r--r--
21.56 KB 2025-09-15 15:41 rw-r--r--
multiway_merge.h — 68.96 KB
2025-09-15 15:41 · rw-r--r--
68.96 KB 2025-09-15 15:41 rw-r--r--
multiway_mergesort.h — 14.92 KB
2025-09-15 15:41 · rw-r--r--
14.92 KB 2025-09-15 15:41 rw-r--r--
numeric — 20.23 KB
2025-09-15 15:41 · rw-r--r--
20.23 KB 2025-09-15 15:41 rw-r--r--
numericfwd.h — 7.33 KB
2025-09-15 15:41 · rw-r--r--
7.33 KB 2025-09-15 15:41 rw-r--r--
omp_loop.h — 3.94 KB
2025-09-15 15:41 · rw-r--r--
3.94 KB 2025-09-15 15:41 rw-r--r--
omp_loop_static.h — 4.01 KB
2025-09-15 15:41 · rw-r--r--
4.01 KB 2025-09-15 15:41 rw-r--r--
par_loop.h — 4.45 KB
2025-09-15 15:41 · rw-r--r--
4.45 KB 2025-09-15 15:41 rw-r--r--
parallel.h — 1.54 KB
2025-09-15 15:41 · rw-r--r--
1.54 KB 2025-09-15 15:41 rw-r--r--
partial_sum.h — 7.3 KB
2025-09-15 15:41 · rw-r--r--
7.3 KB 2025-09-15 15:41 rw-r--r--
partition.h — 14.61 KB
2025-09-15 15:41 · rw-r--r--
14.61 KB 2025-09-15 15:41 rw-r--r--
queue.h — 5.41 KB
2025-09-15 15:41 · rw-r--r--
5.41 KB 2025-09-15 15:41 rw-r--r--
quicksort.h — 5.98 KB
2025-09-15 15:41 · rw-r--r--
5.98 KB 2025-09-15 15:41 rw-r--r--
random_number.h — 4.13 KB
2025-09-15 15:41 · rw-r--r--
4.13 KB 2025-09-15 15:41 rw-r--r--
random_shuffle.h — 18.24 KB
2025-09-15 15:41 · rw-r--r--
18.24 KB 2025-09-15 15:41 rw-r--r--
search.h — 5.26 KB
2025-09-15 15:41 · rw-r--r--
5.26 KB 2025-09-15 15:41 rw-r--r--
set_operations.h — 14.25 KB
2025-09-15 15:41 · rw-r--r--
14.25 KB 2025-09-15 15:41 rw-r--r--
settings.h — 12.17 KB
2025-09-15 15:41 · rw-r--r--
12.17 KB 2025-09-15 15:41 rw-r--r--
sort.h — 7.53 KB
2025-09-15 15:41 · rw-r--r--
7.53 KB 2025-09-15 15:41 rw-r--r--
tags.h — 5.84 KB
2025-09-15 15:41 · rw-r--r--
5.84 KB 2025-09-15 15:41 rw-r--r--
types.h — 3.63 KB
2025-09-15 15:41 · rw-r--r--
3.63 KB 2025-09-15 15:41 rw-r--r--
unique_copy.h — 6.02 KB
2025-09-15 15:41 · rw-r--r--
6.02 KB 2025-09-15 15:41 rw-r--r--
workstealing.h — 9.38 KB
2025-09-15 15:41 · rw-r--r--
9.38 KB 2025-09-15 15:41 rw-r--r--
ONLINE
parallel
43 items
03:14:45
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
// -*- C++ -*- // Copyright (C) 2007-2021 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms // of the GNU General Public License as published by the Free Software // Foundation; either version 3, or (at your option) any later // version. // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. // You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // . /** @file parallel/iterator.h * @brief Helper iterator classes for the std::transform() functions. * This file is a GNU parallel extension to the Standard C++ Library. */ // Written by Johannes Singler. #ifndef _GLIBCXX_PARALLEL_ITERATOR_H #define _GLIBCXX_PARALLEL_ITERATOR_H 1 #include #include namespace __gnu_parallel { /** @brief A pair of iterators. The usual iterator operations are * applied to both child iterators. */ template class _IteratorPair : public std::pair<_Iterator1, _Iterator2> { private: typedef std::pair<_Iterator1, _Iterator2> _Base; public: typedef _IteratorCategory iterator_category; typedef void value_type; typedef std::iterator_traits<_Iterator1> _TraitsType; typedef typename _TraitsType::difference_type difference_type; typedef _IteratorPair* pointer; typedef _IteratorPair& reference; _IteratorPair() { } _IteratorPair(const _Iterator1& __first, const _Iterator2& __second) : _Base(__first, __second) { } // Pre-increment operator. _IteratorPair& operator++() { ++_Base::first; ++_Base::second; return *this; } // Post-increment operator. const _IteratorPair operator++(int) { return _IteratorPair(_Base::first++, _Base::second++); } // Pre-decrement operator. _IteratorPair& operator--() { --_Base::first; --_Base::second; return *this; } // Post-decrement operator. const _IteratorPair operator--(int) { return _IteratorPair(_Base::first--, _Base::second--); } // Type conversion. operator _Iterator2() const { return _Base::second; } _IteratorPair& operator=(const _IteratorPair& __other) { _Base::first = __other.first; _Base::second = __other.second; return *this; } _IteratorPair operator+(difference_type __delta) const { return _IteratorPair(_Base::first + __delta, _Base::second + __delta); } difference_type operator-(const _IteratorPair& __other) const { return _Base::first - __other.first; } }; /** @brief A triple of iterators. The usual iterator operations are applied to all three child iterators. */ template class _IteratorTriple { public: typedef _IteratorCategory iterator_category; typedef void value_type; typedef typename std::iterator_traits<_Iterator1>::difference_type difference_type; typedef _IteratorTriple* pointer; typedef _IteratorTriple& reference; _Iterator1 _M_first; _Iterator2 _M_second; _Iterator3 _M_third; _IteratorTriple() { } _IteratorTriple(const _Iterator1& __first, const _Iterator2& __second, const _Iterator3& __third) { _M_first = __first; _M_second = __second; _M_third = __third; } // Pre-increment operator. _IteratorTriple& operator++() { ++_M_first; ++_M_second; ++_M_third; return *this; } // Post-increment operator. const _IteratorTriple operator++(int) { return _IteratorTriple(_M_first++, _M_second++, _M_third++); } // Pre-decrement operator. _IteratorTriple& operator--() { --_M_first; --_M_second; --_M_third; return *this; } // Post-decrement operator. const _IteratorTriple operator--(int) { return _IteratorTriple(_M_first--, _M_second--, _M_third--); } // Type conversion. operator _Iterator3() const { return _M_third; } _IteratorTriple& operator=(const _IteratorTriple& __other) { _M_first = __other._M_first; _M_second = __other._M_second; _M_third = __other._M_third; return *this; } _IteratorTriple operator+(difference_type __delta) const { return _IteratorTriple(_M_first + __delta, _M_second + __delta, _M_third + __delta); } difference_type operator-(const _IteratorTriple& __other) const { return _M_first - __other._M_first; } }; } #endif /* _GLIBCXX_PARALLEL_ITERATOR_H */