Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.70.130.21
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
include /
c++ /
11 /
ext /
[ HOME SHELL ]
Name
Size
Permission
Action
pb_ds
[ DIR ]
drwxr-xr-x
algorithm
18.8
KB
-rw-r--r--
aligned_buffer.h
3.88
KB
-rw-r--r--
alloc_traits.h
6
KB
-rw-r--r--
atomicity.h
3.7
KB
-rw-r--r--
bitmap_allocator.h
31.45
KB
-rw-r--r--
cast.h
4.34
KB
-rw-r--r--
cmath
6.42
KB
-rw-r--r--
codecvt_specializations.h
15.97
KB
-rw-r--r--
concurrence.h
7.37
KB
-rw-r--r--
debug_allocator.h
5.75
KB
-rw-r--r--
enc_filebuf.h
2.19
KB
-rw-r--r--
extptr_allocator.h
6.24
KB
-rw-r--r--
functional
13.84
KB
-rw-r--r--
hash_map
17.4
KB
-rw-r--r--
hash_set
16.92
KB
-rw-r--r--
iterator
3.94
KB
-rw-r--r--
malloc_allocator.h
5.99
KB
-rw-r--r--
memory
7
KB
-rw-r--r--
mt_allocator.h
23.07
KB
-rw-r--r--
new_allocator.h
5.91
KB
-rw-r--r--
numeric
4.63
KB
-rw-r--r--
numeric_traits.h
7.99
KB
-rw-r--r--
pod_char_traits.h
5.43
KB
-rw-r--r--
pointer.h
20
KB
-rw-r--r--
pool_allocator.h
8.75
KB
-rw-r--r--
random
110.53
KB
-rw-r--r--
random.tcc
58.92
KB
-rw-r--r--
rb_tree
3.2
KB
-rw-r--r--
rc_string_base.h
23.24
KB
-rw-r--r--
rope
86.79
KB
-rw-r--r--
ropeimpl.h
47.76
KB
-rw-r--r--
slist
29.2
KB
-rw-r--r--
sso_string_base.h
16.01
KB
-rw-r--r--
stdio_filebuf.h
5.55
KB
-rw-r--r--
stdio_sync_filebuf.h
8.56
KB
-rw-r--r--
string_conversions.h
3.51
KB
-rw-r--r--
throw_allocator.h
25.26
KB
-rw-r--r--
type_traits.h
5.94
KB
-rw-r--r--
typelist.h
16.09
KB
-rw-r--r--
vstring.h
108.03
KB
-rw-r--r--
vstring.tcc
23.06
KB
-rw-r--r--
vstring_fwd.h
3.1
KB
-rw-r--r--
vstring_util.h
5.75
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : aligned_buffer.h
// Aligned memory buffer -*- C++ -*- // Copyright (C) 2013-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 // <http://www.gnu.org/licenses/>. /** @file ext/aligned_buffer.h * This file is a GNU extension to the Standard C++ Library. */ #ifndef _ALIGNED_BUFFER_H #define _ALIGNED_BUFFER_H 1 #pragma GCC system_header #if __cplusplus >= 201103L # include <type_traits> #else # include <bits/c++0x_warning.h> #endif namespace __gnu_cxx { // A utility type containing a POD object that can hold an object of type // _Tp initialized via placement new or allocator_traits::construct. // Intended for use as a data member subobject, use __aligned_buffer for // complete objects. template<typename _Tp> struct __aligned_membuf { // Target macro ADJUST_FIELD_ALIGN can produce different alignment for // types when used as class members. __aligned_membuf is intended // for use as a class member, so align the buffer as for a class member. // Since GCC 8 we could just use alignof(_Tp) instead, but older // versions of non-GNU compilers might still need this trick. struct _Tp2 { _Tp _M_t; }; alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; __aligned_membuf() = default; // Can be used to avoid value-initialization zeroing _M_storage. __aligned_membuf(std::nullptr_t) { } void* _M_addr() noexcept { return static_cast<void*>(&_M_storage); } const void* _M_addr() const noexcept { return static_cast<const void*>(&_M_storage); } _Tp* _M_ptr() noexcept { return static_cast<_Tp*>(_M_addr()); } const _Tp* _M_ptr() const noexcept { return static_cast<const _Tp*>(_M_addr()); } }; #if _GLIBCXX_INLINE_VERSION template<typename _Tp> using __aligned_buffer = __aligned_membuf<_Tp>; #else // Similar to __aligned_membuf but aligned for complete objects, not members. // This type is used in <forward_list>, <future>, <bits/shared_ptr_base.h> // and <bits/hashtable_policy.h>, but ideally they would use __aligned_membuf // instead, as it has smaller size for some types on some targets. // This type is still used to avoid an ABI change. template<typename _Tp> struct __aligned_buffer : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)> { typename std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage; __aligned_buffer() = default; // Can be used to avoid value-initialization __aligned_buffer(std::nullptr_t) { } void* _M_addr() noexcept { return static_cast<void*>(&_M_storage); } const void* _M_addr() const noexcept { return static_cast<const void*>(&_M_storage); } _Tp* _M_ptr() noexcept { return static_cast<_Tp*>(_M_addr()); } const _Tp* _M_ptr() const noexcept { return static_cast<const _Tp*>(_M_addr()); } }; #endif } // namespace #endif /* _ALIGNED_BUFFER_H */
Close