![]() |
MySQL 9.6.0
Source Code Documentation
|
Experimental API header. More...
#include <cassert>#include "mysql/strconv/encode/out_str.h"#include "mysql/strconv/encode/string_counter.h"#include "mysql/strconv/encode/string_writer.h"#include "mysql/utils/return_status.h"Go to the source code of this file.
Namespaces | |
| namespace | mysql |
| namespace | mysql::strconv |
| namespace | mysql::strconv::detail |
Concepts | |
| concept | mysql::strconv::Is_string_producer_counter |
True if Test can be invoked with a String_counter & argument and returns void or Return_status. | |
| concept | mysql::strconv::Is_string_producer_writer |
True if Test can be invoked with a String_writer & argument and returns void or Return_status. | |
| concept | mysql::strconv::Is_string_producer_pair |
True for pairs of string producer counters/writers that can be used with out_str_write, i.e., the counter accepts a String_counter &, the writer accepts a String_writer &, and the return types are either void or Return_status. | |
| concept | mysql::strconv::Is_string_producer |
True for invocables that can be used with out_str_write, i.e., which accept either a String_writer & or a String_counter & argument, and the return type is either void or Return_status. | |
Typedefs | |
| using | mysql::strconv::detail::Nop_t = decltype(nop) |
Type of nop. More... | |
Functions | |
| template<Is_out_str Out_str_t, class Producer_counter_t , class Producer_writer_t , std::invocable Oom_action_t> requires Is_string_producer_pair<Producer_counter_t, Producer_writer_t> | |
| mysql::utils::Return_status | mysql::strconv::detail::do_out_str_write (const Out_str_t &out_str, const Producer_counter_t &producer_counter, const Producer_writer_t &producer_writer, const Oom_action_t &oom_action) |
Common implementation for the two overloads of out_str_write(out_str, producer_counter, producer_writer, oom_action). More... | |
| template<Is_out_str Out_str_t, class Producer_counter_t , class Producer_writer_t , std::invocable Oom_action_t = detail::Nop_t> requires Is_string_producer_pair<Producer_counter_t, Producer_writer_t> | |
| mysql::utils::Return_status | mysql::strconv::out_str_write (const Out_str_t &out_str, const Producer_counter_t &producer_counter, const Producer_writer_t &producer_writer, const Oom_action_t &oom_action=detail::nop) |
| Given an Is_out_str object, a String_producer_counter, and a String_producer_writer, resizes the object as needed and then writes to it. More... | |
| template<Is_out_str_fixed Out_str_t, class Producer_counter_t , class Producer_writer_t , std::invocable Oom_action_t = detail::Nop_t> requires Is_string_producer_pair<Producer_counter_t, Producer_writer_t> && (std::same_as< std::invoke_result_t<Producer_counter_t, String_counter &>, void>) && (std::same_as< std::invoke_result_t<Producer_writer_t, String_writer &>, void>) | |
| void | mysql::strconv::out_str_write (const Out_str_t &out_str, const Producer_counter_t &producer_counter, const Producer_writer_t &producer_writer, const Oom_action_t &oom_action=detail::nop) |
| Given an Is_out_str object, a String_producer_counter, and a String_producer_writer, resizes the object as needed and then writes to it. More... | |
| template<std::invocable Oom_action_t = detail::Nop_t> | |
| auto | mysql::strconv::out_str_write (const Is_out_str auto &out_str, const Is_string_producer auto &producer, const Oom_action_t &oom_action=detail::nop) |
Given an Is_out_str object and an Is_string_producer, resize the object as needed and then write to it. More... | |
| template<std::invocable Oom_action_t = detail::Nop_t> | |
| auto | mysql::strconv::out_str_copy (const Is_out_str auto &out_str, const std::string_view &sv, const Oom_action_t &oom_action=detail::nop) |
Copy the given string_view to the Output String Wrapper, resizing as needed. More... | |
Variables | |
| auto | mysql::strconv::detail::nop = [] {} |
| Lambda that takes no argument, does nothing, and returns void. More... | |
Experimental API header.