Linux s17.hosterpk.com 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
LiteSpeed
Server IP : 192.169.89.90 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : hamzalar
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
c++ /
14 /
Delete
Unzip
Name
Size
Permission
Date
Action
backward
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
bits
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
debug
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
decimal
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
experimental
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
ext
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
parallel
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
pstl
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
tr1
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
tr2
[ DIR ]
drwxr-xr-x
2026-05-27 07:00
x86_64-redhat-linux
[ DIR ]
drwxr-xr-x
2026-02-26 00:00
algorithm
3.31
KB
-rw-r--r--
2026-02-26 00:00
any
18.71
KB
-rw-r--r--
2026-02-26 00:00
array
15.4
KB
-rw-r--r--
2026-02-26 00:00
atomic
51.16
KB
-rw-r--r--
2026-02-26 00:00
barrier
7.87
KB
-rw-r--r--
2026-02-26 00:00
bit
14
KB
-rw-r--r--
2026-02-26 00:00
bitset
49.19
KB
-rw-r--r--
2026-02-26 00:00
cassert
1.61
KB
-rw-r--r--
2026-02-26 00:00
ccomplex
1.3
KB
-rw-r--r--
2026-02-26 00:00
cctype
2.34
KB
-rw-r--r--
2026-02-26 00:00
cerrno
1.73
KB
-rw-r--r--
2026-02-26 00:00
cfenv
2
KB
-rw-r--r--
2026-02-26 00:00
cfloat
1.84
KB
-rw-r--r--
2026-02-26 00:00
charconv
29.13
KB
-rw-r--r--
2026-02-26 00:00
chrono
94.45
KB
-rw-r--r--
2026-02-26 00:00
cinttypes
2.09
KB
-rw-r--r--
2026-02-26 00:00
ciso646
1.43
KB
-rw-r--r--
2026-02-26 00:00
climits
1.87
KB
-rw-r--r--
2026-02-26 00:00
clocale
1.86
KB
-rw-r--r--
2026-02-26 00:00
cmath
94.88
KB
-rw-r--r--
2026-02-26 00:00
codecvt
5.15
KB
-rw-r--r--
2026-02-26 00:00
compare
37.25
KB
-rw-r--r--
2026-02-26 00:00
complex
74.84
KB
-rw-r--r--
2026-02-26 00:00
complex.h
1.56
KB
-rw-r--r--
2026-02-26 00:00
concepts
12.72
KB
-rw-r--r--
2026-02-26 00:00
condition_variable
12.59
KB
-rw-r--r--
2026-02-26 00:00
coroutine
9.39
KB
-rw-r--r--
2026-02-26 00:00
csetjmp
1.9
KB
-rw-r--r--
2026-02-26 00:00
csignal
1.81
KB
-rw-r--r--
2026-02-26 00:00
cstdalign
1.37
KB
-rw-r--r--
2026-02-26 00:00
cstdarg
1.82
KB
-rw-r--r--
2026-02-26 00:00
cstdbool
1.37
KB
-rw-r--r--
2026-02-26 00:00
cstddef
6.54
KB
-rw-r--r--
2026-02-26 00:00
cstdint
3.75
KB
-rw-r--r--
2026-02-26 00:00
cstdio
4.33
KB
-rw-r--r--
2026-02-26 00:00
cstdlib
6.76
KB
-rw-r--r--
2026-02-26 00:00
cstring
3.17
KB
-rw-r--r--
2026-02-26 00:00
ctgmath
1.33
KB
-rw-r--r--
2026-02-26 00:00
ctime
2.24
KB
-rw-r--r--
2026-02-26 00:00
cuchar
2.84
KB
-rw-r--r--
2026-02-26 00:00
cwchar
6.39
KB
-rw-r--r--
2026-02-26 00:00
cwctype
2.73
KB
-rw-r--r--
2026-02-26 00:00
cxxabi.h
21.77
KB
-rw-r--r--
2026-02-26 00:00
deque
4.56
KB
-rw-r--r--
2026-02-26 00:00
exception
5.31
KB
-rw-r--r--
2026-02-26 00:00
execution
1.87
KB
-rw-r--r--
2026-02-26 00:00
expected
51.14
KB
-rw-r--r--
2026-02-26 00:00
fenv.h
1.96
KB
-rw-r--r--
2026-02-26 00:00
filesystem
1.72
KB
-rw-r--r--
2026-02-26 00:00
format
128.93
KB
-rw-r--r--
2026-02-26 00:00
forward_list
2.96
KB
-rw-r--r--
2026-02-26 00:00
fstream
41.58
KB
-rw-r--r--
2026-02-26 00:00
functional
47.31
KB
-rw-r--r--
2026-02-26 00:00
future
52.3
KB
-rw-r--r--
2026-02-26 00:00
generator
22.16
KB
-rw-r--r--
2026-02-26 00:00
initializer_list
2.93
KB
-rw-r--r--
2026-02-26 00:00
iomanip
16.4
KB
-rw-r--r--
2026-02-26 00:00
ios
1.67
KB
-rw-r--r--
2026-02-26 00:00
iosfwd
8.21
KB
-rw-r--r--
2026-02-26 00:00
iostream
3.02
KB
-rw-r--r--
2026-02-26 00:00
istream
35.62
KB
-rw-r--r--
2026-02-26 00:00
iterator
3.02
KB
-rw-r--r--
2026-02-26 00:00
latch
2.7
KB
-rw-r--r--
2026-02-26 00:00
limits
82.01
KB
-rw-r--r--
2026-02-26 00:00
list
3.91
KB
-rw-r--r--
2026-02-26 00:00
locale
1.5
KB
-rw-r--r--
2026-02-26 00:00
map
4.37
KB
-rw-r--r--
2026-02-26 00:00
math.h
4.47
KB
-rw-r--r--
2026-02-26 00:00
memory
5.3
KB
-rw-r--r--
2026-02-26 00:00
memory_resource
14.15
KB
-rw-r--r--
2026-02-26 00:00
mutex
26.96
KB
-rw-r--r--
2026-02-26 00:00
new
8.48
KB
-rw-r--r--
2026-02-26 00:00
numbers
6.91
KB
-rw-r--r--
2026-02-26 00:00
numeric
25.61
KB
-rw-r--r--
2026-02-26 00:00
optional
44.1
KB
-rw-r--r--
2026-02-26 00:00
ostream
30.54
KB
-rw-r--r--
2026-02-26 00:00
print
4.73
KB
-rw-r--r--
2026-02-26 00:00
queue
2.54
KB
-rw-r--r--
2026-02-26 00:00
random
1.63
KB
-rw-r--r--
2026-02-26 00:00
ranges
271.97
KB
-rw-r--r--
2026-02-26 00:00
ratio
22.26
KB
-rw-r--r--
2026-02-26 00:00
regex
3.16
KB
-rw-r--r--
2026-02-26 00:00
scoped_allocator
17.41
KB
-rw-r--r--
2026-02-26 00:00
semaphore
3.04
KB
-rw-r--r--
2026-02-26 00:00
set
4.16
KB
-rw-r--r--
2026-02-26 00:00
shared_mutex
24.6
KB
-rw-r--r--
2026-02-26 00:00
source_location
2.7
KB
-rw-r--r--
2026-02-26 00:00
span
14.12
KB
-rw-r--r--
2026-02-26 00:00
spanstream
12.2
KB
-rw-r--r--
2026-02-26 00:00
sstream
38.83
KB
-rw-r--r--
2026-02-26 00:00
stack
2.46
KB
-rw-r--r--
2026-02-26 00:00
stacktrace
21.21
KB
-rw-r--r--
2026-02-26 00:00
stdatomic.h
4.02
KB
-rw-r--r--
2026-02-26 00:00
stdexcept
9.65
KB
-rw-r--r--
2026-02-26 00:00
stdfloat
1.72
KB
-rw-r--r--
2026-02-26 00:00
stdlib.h
2.25
KB
-rw-r--r--
2026-02-26 00:00
stop_token
15.72
KB
-rw-r--r--
2026-02-26 00:00
streambuf
29.24
KB
-rw-r--r--
2026-02-26 00:00
string
4.23
KB
-rw-r--r--
2026-02-26 00:00
string_view
27.52
KB
-rw-r--r--
2026-02-26 00:00
syncstream
8.18
KB
-rw-r--r--
2026-02-26 00:00
system_error
17.96
KB
-rw-r--r--
2026-02-26 00:00
text_encoding
16.26
KB
-rw-r--r--
2026-02-26 00:00
tgmath.h
1.33
KB
-rw-r--r--
2026-02-26 00:00
thread
9.77
KB
-rw-r--r--
2026-02-26 00:00
tuple
99.77
KB
-rw-r--r--
2026-02-26 00:00
type_traits
118.15
KB
-rw-r--r--
2026-02-26 00:00
typeindex
3.43
KB
-rw-r--r--
2026-02-26 00:00
typeinfo
8.1
KB
-rw-r--r--
2026-02-26 00:00
unordered_map
3.69
KB
-rw-r--r--
2026-02-26 00:00
unordered_set
3.48
KB
-rw-r--r--
2026-02-26 00:00
utility
7.38
KB
-rw-r--r--
2026-02-26 00:00
valarray
40.2
KB
-rw-r--r--
2026-02-26 00:00
variant
64.81
KB
-rw-r--r--
2026-02-26 00:00
vector
4.98
KB
-rw-r--r--
2026-02-26 00:00
version
1.42
KB
-rw-r--r--
2026-02-26 00:00
Save
Rename
// <barrier> -*- C++ -*- // Copyright (C) 2020-2024 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 // <http://www.gnu.org/licenses/>. // This implementation is based on libcxx/include/barrier //===-- barrier.h --------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===---------------------------------------------------------------===// /** @file include/barrier * This is a Standard C++ Library header. */ #ifndef _GLIBCXX_BARRIER #define _GLIBCXX_BARRIER 1 #pragma GCC system_header #include <bits/requires_hosted.h> // threading primitive #define __glibcxx_want_barrier #include <bits/version.h> #ifdef __cpp_lib_barrier // C++ >= 20 && __cpp_aligned_new && lib_atomic_wait #include <bits/atomic_base.h> #include <bits/std_thread.h> #include <bits/unique_ptr.h> #include <array> namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __empty_completion { _GLIBCXX_ALWAYS_INLINE void operator()() noexcept { } }; /* The default implementation of __tree_barrier is a classic tree barrier. It looks different from literature pseudocode for two main reasons: 1. Threads that call into std::barrier functions do not provide indices, so a numbering step is added before the actual barrier algorithm, appearing as an N+1 round to the N rounds of the tree barrier. 2. A great deal of attention has been paid to avoid cache line thrashing by flattening the tree structure into cache-line sized arrays, that are indexed in an efficient way. */ enum class __barrier_phase_t : unsigned char { }; template<typename _CompletionF> class __tree_barrier { using __atomic_phase_ref_t = std::__atomic_ref<__barrier_phase_t>; using __atomic_phase_const_ref_t = std::__atomic_ref<const __barrier_phase_t>; static constexpr auto __phase_alignment = __atomic_phase_ref_t::required_alignment; using __tickets_t = std::array<__barrier_phase_t, 64>; struct alignas(64) /* naturally-align the heap state */ __state_t { alignas(__phase_alignment) __tickets_t __tickets; }; ptrdiff_t _M_expected; unique_ptr<__state_t[]> _M_state; __atomic_base<ptrdiff_t> _M_expected_adjustment; _CompletionF _M_completion; alignas(__phase_alignment) __barrier_phase_t _M_phase; bool _M_arrive(__barrier_phase_t __old_phase, size_t __current) { const auto __old_phase_val = static_cast<unsigned char>(__old_phase); const auto __half_step = static_cast<__barrier_phase_t>(__old_phase_val + 1); const auto __full_step = static_cast<__barrier_phase_t>(__old_phase_val + 2); size_t __current_expected = _M_expected; __current %= ((_M_expected + 1) >> 1); for (int __round = 0; ; ++__round) { if (__current_expected <= 1) return true; size_t const __end_node = ((__current_expected + 1) >> 1), __last_node = __end_node - 1; for ( ; ; ++__current) { if (__current == __end_node) __current = 0; auto __expect = __old_phase; __atomic_phase_ref_t __phase(_M_state[__current] .__tickets[__round]); if (__current == __last_node && (__current_expected & 1)) { if (__phase.compare_exchange_strong(__expect, __full_step, memory_order_acq_rel)) break; // I'm 1 in 1, go to next __round } else if (__phase.compare_exchange_strong(__expect, __half_step, memory_order_acq_rel)) { return false; // I'm 1 in 2, done with arrival } else if (__expect == __half_step) { if (__phase.compare_exchange_strong(__expect, __full_step, memory_order_acq_rel)) break; // I'm 2 in 2, go to next __round } } __current_expected = __last_node + 1; __current >>= 1; } } public: using arrival_token = __barrier_phase_t; static constexpr ptrdiff_t max() noexcept { return __PTRDIFF_MAX__; } __tree_barrier(ptrdiff_t __expected, _CompletionF __completion) : _M_expected(__expected), _M_expected_adjustment(0), _M_completion(move(__completion)), _M_phase(static_cast<__barrier_phase_t>(0)) { size_t const __count = (_M_expected + 1) >> 1; _M_state = std::make_unique<__state_t[]>(__count); } [[nodiscard]] arrival_token arrive(ptrdiff_t __update) { std::hash<std::thread::id> __hasher; size_t __current = __hasher(std::this_thread::get_id()); __atomic_phase_ref_t __phase(_M_phase); const auto __old_phase = __phase.load(memory_order_relaxed); const auto __cur = static_cast<unsigned char>(__old_phase); for(; __update; --__update) { if(_M_arrive(__old_phase, __current)) { _M_completion(); _M_expected += _M_expected_adjustment.load(memory_order_relaxed); _M_expected_adjustment.store(0, memory_order_relaxed); auto __new_phase = static_cast<__barrier_phase_t>(__cur + 2); __phase.store(__new_phase, memory_order_release); __phase.notify_all(); } } return __old_phase; } void wait(arrival_token&& __old_phase) const { __atomic_phase_const_ref_t __phase(_M_phase); auto const __test_fn = [=] { return __phase.load(memory_order_acquire) != __old_phase; }; std::__atomic_wait_address(&_M_phase, __test_fn); } void arrive_and_drop() { _M_expected_adjustment.fetch_sub(1, memory_order_relaxed); (void)arrive(1); } }; template<typename _CompletionF = __empty_completion> class barrier { // Note, we may introduce a "central" barrier algorithm at some point // for more space constrained targets using __algorithm_t = __tree_barrier<_CompletionF>; __algorithm_t _M_b; public: class arrival_token final { public: arrival_token(arrival_token&&) = default; arrival_token& operator=(arrival_token&&) = default; ~arrival_token() = default; private: friend class barrier; using __token = typename __algorithm_t::arrival_token; explicit arrival_token(__token __tok) noexcept : _M_tok(__tok) { } __token _M_tok; }; static constexpr ptrdiff_t max() noexcept { return __algorithm_t::max(); } explicit barrier(ptrdiff_t __count, _CompletionF __completion = _CompletionF()) : _M_b(__count, std::move(__completion)) { } barrier(barrier const&) = delete; barrier& operator=(barrier const&) = delete; [[nodiscard]] arrival_token arrive(ptrdiff_t __update = 1) { return arrival_token{_M_b.arrive(__update)}; } void wait(arrival_token&& __phase) const { _M_b.wait(std::move(__phase._M_tok)); } void arrive_and_wait() { wait(arrive()); } void arrive_and_drop() { _M_b.arrive_and_drop(); } }; _GLIBCXX_END_NAMESPACE_VERSION } // namespace #endif // __cpp_lib_barrier #endif // _GLIBCXX_BARRIER