Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
45c4f09
fast_io
MacroModel Jul 7, 2026
9e4262c
Optimize fast_io C++20 semantic print nodes
MacroModel Jul 7, 2026
7e7c020
Tune fast_io C++20 stack scatter budget
MacroModel Jul 7, 2026
b5faf9c
Fix fast_io C++20 semantic scatter expansion
MacroModel Jul 7, 2026
da0ee0d
Optimize fast_io C++20 semantic width small output
MacroModel Jul 7, 2026
d7acc7f
Refactor print control logic in fast_io for improved clarity and perf…
MacroModel Jul 7, 2026
79e3e2d
Add output stream reference definitions for lockable types in fast_io
MacroModel Jul 7, 2026
a93f112
Enhance fast_io stack buffer management and customization options
MacroModel Jul 8, 2026
1b3f2da
Refactor fast_io header inclusions and remove unused files
MacroModel Jul 8, 2026
576bc1f
Add conditional compilation guards in `cond.h` and `width.h`
MacroModel Jul 8, 2026
fd08366
Add new print semantic functions and improve coalescing logic in fast_io
MacroModel Jul 8, 2026
60f8cf2
Enhance print operations with full output coalescing and semantic checks
MacroModel Jul 8, 2026
d878ddb
Update stack buffer customization in fast_io to reflect environment-s…
MacroModel Jul 8, 2026
81c1cc4
Refactor stack buffer default value handling in fast_io
MacroModel Jul 8, 2026
f0ad2da
Add new print semantic functions and enhance pack handling in fast_io
MacroModel Jul 8, 2026
1e2d62b
Enhance floating-point trait specialization in fast_io
MacroModel Jul 8, 2026
46007f9
Enhance scatter and reserve handling in print operations
MacroModel Jul 8, 2026
031106f
Enhance force-inlining rationale in print operations
MacroModel Jul 8, 2026
d4472e9
Add detailed comments to enhance clarity in print control logic
MacroModel Jul 8, 2026
3051a7a
Enhance template function support for scatter types in range views
MacroModel Jul 8, 2026
89b0a3f
Refactor character integral handling in fast_io
MacroModel Jul 8, 2026
5921313
Enhance floating-point precision handling in fast_io
MacroModel Jul 8, 2026
f52345e
Enhance parsing and handling of floating-point and hexadecimal format…
MacroModel Jul 8, 2026
241a015
Enhance decfloat and hexfloat parsing in fast_io
MacroModel Jul 8, 2026
78ebb27
Refactor overflow handling in decfloat parsing
MacroModel Jul 8, 2026
e132ee4
Enhance decfloat and hexfloat functionality in fast_io
MacroModel Jul 8, 2026
c04f0e7
Refactor decfloat and hexfloat parsing for improved clarity and perfo…
MacroModel Jul 8, 2026
fceb483
Implement new functions for optimized decfloat digit handling
MacroModel Jul 8, 2026
953c63a
Enhance print semantic handling in fast_io
MacroModel Jul 8, 2026
5c7b749
Add bfloat16 high fallback support in dragonbox implementation
MacroModel Jul 8, 2026
bc338e6
Enhance floating-point rounding logic in fast_io
MacroModel Jul 8, 2026
dde05b9
Enhance scanning capabilities in fast_io
MacroModel Jul 8, 2026
a325471
Refactor floating precision and print semantics in fast_io
MacroModel Jul 8, 2026
92eac1e
Enhance pointer printing semantics in fast_io
MacroModel Jul 8, 2026
9636252
Refactor print semantic handling in fast_io
MacroModel Jul 8, 2026
af4ce2e
Enhance scanning and printing capabilities in fast_io
MacroModel Jul 8, 2026
0f25fb8
Update scatter fallback and coalescing thresholds in fast_io
MacroModel Jul 8, 2026
fcad712
Implement scatter chain handling and enhance concatenation logic in f…
MacroModel Jul 8, 2026
cac460d
Enhance scatter handling and ASCII hex parsing in fast_io
MacroModel Jul 9, 2026
1d9fc6a
Add small scatter coalescing support in fast_io
MacroModel Jul 9, 2026
72e1ddf
Refactor scatter fallback and coalescing thresholds in fast_io
MacroModel Jul 9, 2026
d3a4a55
Refactor integer printing and scanning logic in fast_io
MacroModel Jul 9, 2026
ca70bb1
Refactor scatter fallback and coalescing thresholds in fast_io
MacroModel Jul 9, 2026
206a6ad
Enhance small scatter repacking logic in fast_io
MacroModel Jul 9, 2026
18dd980
Enhance concatenation and print semantic handling in fast_io
MacroModel Jul 9, 2026
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
2 changes: 2 additions & 0 deletions third-parties/fast_io/include/fast_io_concept.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
#include "fast_io_dsal/impl/misc/push_macros.h"
#include "fast_io_dsal/impl/misc/push_warnings.h"

#include "fast_io_freestanding_impl/stack/impl.h"

#include "fast_io_core_impl/freestanding/addressof.h"
#include "fast_io_core_impl/concepts/impl.h"

Expand Down
3 changes: 3 additions & 0 deletions third-parties/fast_io/include/fast_io_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@
#include "fast_io_core_impl/perms.h"
#include "fast_io_dsal/impl/common.h"
#include "fast_io_dsal/impl/span.h"
#include "fast_io_dsal/impl/tuple.h"
#include "fast_io_core_impl/manipulators/traits.h"
#include "fast_io_core_impl/operations/impl.h"

// This should provide an option macro to disable any generation for table in freestanding environments.
Expand Down Expand Up @@ -99,6 +101,7 @@

#include "fast_io_core_impl/concat/impl.h"
#include "fast_io_core_impl/to.h"
#include "fast_io_core_impl/manipulators/impl.h"

#include "fast_io_core_impl/http_header.h"
#include "fast_io_core_impl/io_lockable.h"
Expand Down
39 changes: 39 additions & 0 deletions third-parties/fast_io/include/fast_io_core_impl/buffer_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,45 @@ struct basic_obuffer_view
}
};

template <::std::integral char_type>
inline constexpr basic_io_scatter_t<char_type>
print_alias_define(io_alias_t, basic_obuffer_view<char_type> const &view) noexcept
{
return {view.cbegin(), view.size()};
}

template <::std::integral char_type>
inline constexpr ::std::size_t
print_reserve_size(io_reserve_type_t<char_type, basic_obuffer_view<char_type>>,
basic_obuffer_view<char_type> const &view) noexcept
{
return view.size();
}

template <::std::integral char_type>
inline constexpr char_type *
print_reserve_define(io_reserve_type_t<char_type, basic_obuffer_view<char_type>>,
char_type *iter, basic_obuffer_view<char_type> const &view) noexcept
{
return ::fast_io::details::non_overlapped_copy_n(view.cbegin(), view.size(), iter);
}

template <::std::integral char_type>
inline constexpr ::std::size_t
print_reserve_precise_size(io_reserve_type_t<char_type, basic_obuffer_view<char_type>>,
basic_obuffer_view<char_type> const &view) noexcept
{
return view.size();
}

template <::std::integral char_type>
inline constexpr char_type *
print_reserve_precise_define(io_reserve_type_t<char_type, basic_obuffer_view<char_type>>,
char_type *iter, ::std::size_t, basic_obuffer_view<char_type> const &view) noexcept
{
return ::fast_io::details::non_overlapped_copy_n(view.cbegin(), view.size(), iter);
}

template <::std::integral char_type>
struct basic_obuffer_view_ref
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,8 @@ inline constexpr bool print_alias_test_codecvt_impl() noexcept
if constexpr (type_has_value_type<alias_type>)
{
using value_type = typename alias_type::value_type;
return ::std::same_as<alias_type, basic_io_scatter_t<value_type>>;
return ::std::same_as<alias_type, basic_io_scatter_t<value_type>> ||
::std::convertible_to<alias_type, basic_io_scatter_t<value_type>>;
}
else
{
Expand Down Expand Up @@ -616,6 +617,13 @@ inline constexpr auto code_cvt(small_scatter_t<char_type, N> t) noexcept
return code_cvt_t<src_scheme, dst_scheme, char_type>{{t.base, t.len}};
}

template <encoding_scheme src_scheme = encoding_scheme::execution_charset,
encoding_scheme dst_scheme = encoding_scheme::execution_charset, ::std::integral char_type, ::std::size_t N>
inline constexpr auto code_cvt(static_scatter_t<char_type, N> t) noexcept
{
return code_cvt_t<src_scheme, dst_scheme, char_type>{{t.base, N}};
}

template <encoding_scheme src_scheme = encoding_scheme::execution_charset,
encoding_scheme dst_scheme = encoding_scheme::execution_charset, ::std::integral char_type>
inline constexpr auto code_cvt_os_c_str(char_type const *cstr) noexcept
Expand Down
Loading
Loading