Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions include/fast_io_core_impl/allocation/nt_rtlheapalloc.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

#include "nt_preliminary_definition.h"

Expand All @@ -19,9 +19,7 @@ inline void *nt_rtlallocate_heap_handle_common_impl(void *heaphandle, ::std::siz
}
auto p{::fast_io::win32::nt::RtlAllocateHeap(heaphandle, flag, n)};
if (p == nullptr)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
::fast_io::fast_terminate();
}
Expand All @@ -38,9 +36,7 @@ inline void *nt_rtlreallocate_heap_handle_common_impl(void *heaphandle, void *ad
n = 1;
}
if (addr == nullptr)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
return ::fast_io::details::nt_rtlallocate_heap_handle_common_impl(heaphandle, n, flag);
}
Expand Down
4 changes: 1 addition & 3 deletions include/fast_io_core_impl/allocation/win32_heapalloc.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io
{
Expand Down Expand Up @@ -59,9 +59,7 @@ inline void *win32_heaprealloc_handle_common_impl(void *heaphandle, void *addr,
n = 1;
}
if (addr == nullptr)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
return win32_heapalloc_handle_common_impl(heaphandle, n, flag);
}
Expand Down
18 changes: 7 additions & 11 deletions include/fast_io_core_impl/freestanding/bytes.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io::details
{
Expand Down Expand Up @@ -84,12 +84,10 @@ inline constexpr ::std::byte *bytes_copy_n(::std::byte const *first, ::std::size
else
{
if (n)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
#if FAST_IO_HAS_BUILTIN(__builtin_memmove)
__builtin_memmove(dest, first, n);
__builtin_memmove(dest, first, n);
#else
::std::memmove(dest, first, n);
#endif
Expand All @@ -116,12 +114,10 @@ inline constexpr ::std::byte *nonoverlapped_bytes_copy_n(::std::byte const *firs
else
{
if (n)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
#if FAST_IO_HAS_BUILTIN(__builtin_memcpy)
__builtin_memcpy(dest, first, n);
__builtin_memcpy(dest, first, n);
#else
::std::memcpy(dest, first, n);
#endif
Expand Down Expand Up @@ -155,7 +151,7 @@ inline constexpr ::std::byte const *type_punning_from_bytes(::std::byte const *_
#endif
{
#if FAST_IO_HAS_BUILTIN(__builtin_memcpy)
__builtin_memcpy(__builtin_addressof(t), first, n);
__builtin_memcpy(__builtin_addressof(t), first, n);
#else
::std::memcpy(__builtin_addressof(t), first, n);
#endif
Expand All @@ -180,7 +176,7 @@ inline constexpr ::std::byte *type_punning_to_bytes_n(T const &__restrict first,
#endif
{
#if FAST_IO_HAS_BUILTIN(__builtin_memcpy)
__builtin_memcpy(dest, __builtin_addressof(first), n);
__builtin_memcpy(dest, __builtin_addressof(first), n);
#else
::std::memcpy(dest, __builtin_addressof(first), n);
#endif
Expand Down Expand Up @@ -208,7 +204,7 @@ inline constexpr ::std::byte *bytes_clear_n(::std::byte *data, ::std::size_t siz
else
{
#if FAST_IO_HAS_BUILTIN(__builtin_memset)
__builtin_memset(data, 0, size);
__builtin_memset(data, 0, size);
#else
::std::memset(data, 0, size);
#endif
Expand All @@ -233,7 +229,7 @@ inline constexpr ::std::byte *bytes_fill_n(::std::byte *data, ::std::size_t size
else
{
#if FAST_IO_HAS_BUILTIN(__builtin_memset)
__builtin_memset(data, static_cast<char unsigned>(val), size);
__builtin_memset(data, static_cast<char unsigned>(val), size);
#else
::std::memset(data, static_cast<char unsigned>(val), size);
#endif
Expand Down
4 changes: 1 addition & 3 deletions include/fast_io_core_impl/integers/percentage.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io
{
Expand Down Expand Up @@ -270,9 +270,7 @@ inline constexpr chartype *prrsv_percentage_main_common_impl(chartype *iter, T n
bool denominatoriseven{!(denominator & 1u)};
unsigned quotientmod100;
if (numerator10000high == 0u)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
auto quotient{numerator10000low / denominator};
auto remainder{numerator10000low % denominator};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io
{
Expand Down Expand Up @@ -435,9 +435,7 @@ inline constexpr void print_control_single(output outstm, T t)
bool smaller{static_cast<::std::ptrdiff_t>(size) < diff};
::fast_io::details::local_operator_new_array_ptr<char_type> newptr;
if (!smaller)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
newptr.ptr = toptr = ::fast_io::details::allocate_iobuf_space<
char_type,
Expand All @@ -456,9 +454,7 @@ inline constexpr void print_control_single(output outstm, T t)
obuffer_set_curr(outstm, it);
}
else
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
::fast_io::operations::decay::write_all_decay(outstm, toptr, it);
}
Expand Down Expand Up @@ -532,9 +528,7 @@ inline constexpr void print_control_single(output outstm, T t)
auto bcurr{obuffer_curr(outstm)};
auto bed{obuffer_end(outstm)};
if (bed <= bcurr)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
if constexpr (minimum_buffer_output_stream_require_size_impl<output, reserved_size>)
{
Expand All @@ -548,9 +542,7 @@ inline constexpr void print_control_single(output outstm, T t)
bcurr = obuffer_curr(outstm);
bed = obuffer_end(outstm);
if (bed - bcurr < reserved_size_no_line)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
char_type buffer[reserved_size];
char_type *buffered{buffer + reserved_size_no_line};
Expand Down Expand Up @@ -588,9 +580,7 @@ inline constexpr void print_control_single(output outstm, T t)
auto [resit, done] = st.print_context_define(t, bcurr, bed);
obuffer_set_curr(outstm, resit);
if (done)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
if constexpr (line)
{
Expand Down Expand Up @@ -1406,7 +1396,7 @@ template <bool line, typename outputstmtype, typename... Args>
#endif
inline constexpr decltype(auto) print_freestanding_decay_cold(outputstmtype optstm, Args... args)
{
#if !__has_cpp_attribute(__gnu__::__cold__) && __has_cpp_attribute(unlikely)
#if !__has_cpp_attribute(__gnu__::__cold__)
if (true) [[unlikely]]
#endif
return ::fast_io::operations::decay::print_freestanding_decay<line>(optstm, args...);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

#error "We do not recommend using this header file for the time being."

Expand Down Expand Up @@ -408,9 +408,7 @@ inline constexpr void print_control_single(output outstm, T t)
bool smaller{static_cast<::std::ptrdiff_t>(size) < diff};
::fast_io::details::local_operator_new_array_ptr<char_type> newptr;
if (!smaller)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
newptr.ptr = toptr = ::fast_io::details::allocate_iobuf_space<
char_type,
Expand All @@ -429,9 +427,7 @@ inline constexpr void print_control_single(output outstm, T t)
obuffer_set_curr(outstm, it);
}
else
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
::fast_io::operations::decay::write_all_decay(outstm, toptr, it);
}
Expand Down Expand Up @@ -505,9 +501,7 @@ inline constexpr void print_control_single(output outstm, T t)
auto bcurr{obuffer_curr(outstm)};
auto bed{obuffer_end(outstm)};
if (bed <= bcurr)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
if constexpr (minimum_buffer_output_stream_require_size_impl<output, reserved_size>)
{
Expand All @@ -521,9 +515,7 @@ inline constexpr void print_control_single(output outstm, T t)
bcurr = obuffer_curr(outstm);
bed = obuffer_end(outstm);
if (bed - bcurr < reserved_size_no_line)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
char_type buffer[reserved_size];
char_type *buffered{buffer + reserved_size_no_line};
Expand Down Expand Up @@ -561,9 +553,7 @@ inline constexpr void print_control_single(output outstm, T t)
auto [resit, done] = st.print_context_define(t, bcurr, bed);
obuffer_set_curr(outstm, resit);
if (done)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
if constexpr (line)
{
Expand Down Expand Up @@ -1338,7 +1328,7 @@ template <bool line, typename outputstmtype, typename... Args>
#endif
inline constexpr decltype(auto) print_freestanding_decay_cold(outputstmtype optstm, Args... args)
{
#if !__has_cpp_attribute(__gnu__::__cold__) && __has_cpp_attribute(unlikely)
#if !__has_cpp_attribute(__gnu__::__cold__)
if (true) [[unlikely]]
#endif
return ::fast_io::operations::decay::print_freestanding_decay<line>(optstm, args...);
Expand Down
12 changes: 2 additions & 10 deletions include/fast_io_core_impl/operations/readimpl/scatter.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io
{
Expand All @@ -11,7 +11,7 @@ inline constexpr ::std::byte *read_some_bytes_decay(instmtype insm, ::std::byte

template <typename instmtype>
inline constexpr ::std::byte *pread_some_bytes_decay(instmtype insm, ::std::byte *first, ::std::byte *last,
::fast_io::intfpos_t);
::fast_io::intfpos_t);

} // namespace operations::decay

Expand Down Expand Up @@ -160,9 +160,7 @@ scatter_read_some_impl(instmtype insm, basic_io_scatter_t<typename instmtype::in
{
auto [base, len] = *i;
if (len < buffptrdiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
::fast_io::details::non_overlapped_copy_n(curr, len, base);
curr += len;
Expand All @@ -175,9 +173,7 @@ scatter_read_some_impl(instmtype insm, basic_io_scatter_t<typename instmtype::in
}
ibuffer_set_curr(insm, curr);
if (i != e)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
auto ret{::fast_io::details::scatter_read_some_cold_impl(insm, i, static_cast<::std::size_t>(e - i))};
ret.position += static_cast<::std::size_t>(i - pscatters);
Expand Down Expand Up @@ -311,9 +307,7 @@ inline constexpr void scatter_read_all_impl(instmtype insm,
{
auto [base, len] = *i;
if (len < buffptrdiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
::fast_io::details::non_overlapped_copy_n(curr, len, base);
curr += len;
Expand All @@ -326,9 +320,7 @@ inline constexpr void scatter_read_all_impl(instmtype insm,
}
ibuffer_set_curr(insm, curr);
if (i != e)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
return ::fast_io::details::scatter_read_all_cold_impl(insm, i, static_cast<::std::size_t>(e - i));
}
Expand Down
10 changes: 1 addition & 9 deletions include/fast_io_core_impl/operations/readimpl/scatterbytes.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace fast_io
namespace fast_io
{

namespace details
Expand Down Expand Up @@ -96,9 +96,7 @@ inline constexpr io_scatter_status_t scatter_read_some_bytes_impl(instmtype insm
{
auto [base, len] = *i;
if (len < buffptrdiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
using char_type_ptr
#if __has_cpp_attribute(__gnu__::__may_alias__)
Expand All @@ -116,9 +114,7 @@ inline constexpr io_scatter_status_t scatter_read_some_bytes_impl(instmtype insm
}
ibuffer_set_curr(insm, curr);
if (i != e)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
auto ret{::fast_io::details::scatter_read_some_bytes_cold_impl(insm, i, static_cast<::std::size_t>(e - i))};
ret.position += static_cast<::std::size_t>(i - pscatters);
Expand Down Expand Up @@ -251,9 +247,7 @@ inline constexpr void scatter_read_all_bytes_impl(instmtype insm, io_scatter_t c
{
auto [base, len] = *i;
if (len < buffptrdiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
using char_type_ptr
#if __has_cpp_attribute(__gnu__::__may_alias__)
Expand All @@ -271,9 +265,7 @@ inline constexpr void scatter_read_all_bytes_impl(instmtype insm, io_scatter_t c
}
ibuffer_set_curr(insm, curr);
if (i != e)
#if __has_cpp_attribute(unlikely)
[[unlikely]]
#endif
{
return ::fast_io::details::scatter_read_all_bytes_cold_impl(insm, i, static_cast<::std::size_t>(e - i));
}
Expand Down
8 changes: 1 addition & 7 deletions include/fast_io_core_impl/operations/writeimpl/basis.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once
#pragma once

namespace fast_io
{
Expand Down Expand Up @@ -509,9 +509,7 @@ inline constexpr void write_all_impl(outstmtype outsm, typename outstmtype::outp
::std::ptrdiff_t bfddiff{ed - curr};
::std::ptrdiff_t itdiff{last - first};
if (itdiff < bfddiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
obuffer_set_curr(outsm, non_overlapped_copy_n(first, static_cast<::std::size_t>(itdiff), curr));
return;
Expand Down Expand Up @@ -540,9 +538,7 @@ inline constexpr ::std::byte const *write_some_bytes_impl(outstmtype outsm, ::st
::std::ptrdiff_t bfddiff{ed - curr};
::std::ptrdiff_t itdiff{last - first};
if (itdiff < bfddiff)
#if __has_cpp_attribute(likely)
[[likely]]
#endif
{
using char_type_const_ptr
#if __has_cpp_attribute(__gnu__::__may_alias__)
Expand Down Expand Up @@ -642,9 +638,7 @@ char_put_impl(outstm outsm, typename decltype(::fast_io::operations::output_stre
condition = curr != ed;
}
if (condition)
#if __has_cpp_attribute(likely)
[[likely]]
#endif

{
*curr = ch;
Expand Down
Loading
Loading