Move check_sign to anonymous namespace.
This commit is contained in:
parent
ab35af53c5
commit
3947a7a98c
29
format.cc
29
format.cc
@ -188,6 +188,20 @@ const Char *find_closing_brace(const Char *s, int num_open_braces = 1) {
|
|||||||
throw fmt::FormatError("unmatched '{' in format");
|
throw fmt::FormatError("unmatched '{' in format");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename Char>
|
||||||
|
void check_sign(const Char *&s, const Arg &arg) {
|
||||||
|
char sign = static_cast<char>(*s);
|
||||||
|
if (arg.type > Arg::LAST_NUMERIC_TYPE) {
|
||||||
|
throw fmt::FormatError(fmt::format(
|
||||||
|
"format specifier '{}' requires numeric argument", sign));
|
||||||
|
}
|
||||||
|
if (arg.type == Arg::UINT || arg.type == Arg::ULONG_LONG) {
|
||||||
|
throw fmt::FormatError(fmt::format(
|
||||||
|
"format specifier '{}' requires signed argument", sign));
|
||||||
|
}
|
||||||
|
++s;
|
||||||
|
}
|
||||||
|
|
||||||
// Checks if an argument is a valid printf width specifier and sets
|
// Checks if an argument is a valid printf width specifier and sets
|
||||||
// left alignment if it is negative.
|
// left alignment if it is negative.
|
||||||
class WidthHandler : public fmt::internal::ArgVisitor<WidthHandler, unsigned> {
|
class WidthHandler : public fmt::internal::ArgVisitor<WidthHandler, unsigned> {
|
||||||
@ -759,21 +773,6 @@ inline const Arg &fmt::BasicFormatter<Char>::parse_arg_index(const Char *&s) {
|
|||||||
return *arg;
|
return *arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Char>
|
|
||||||
void fmt::BasicFormatter<Char>::check_sign(
|
|
||||||
const Char *&s, const Arg &arg) {
|
|
||||||
char sign = static_cast<char>(*s);
|
|
||||||
if (arg.type > Arg::LAST_NUMERIC_TYPE) {
|
|
||||||
throw FormatError(fmt::format(
|
|
||||||
"format specifier '{}' requires numeric argument", sign));
|
|
||||||
}
|
|
||||||
if (arg.type == Arg::UINT || arg.type == Arg::ULONG_LONG) {
|
|
||||||
throw FormatError(fmt::format(
|
|
||||||
"format specifier '{}' requires signed argument", sign));
|
|
||||||
}
|
|
||||||
++s;
|
|
||||||
}
|
|
||||||
|
|
||||||
const Arg *fmt::internal::FormatterBase::next_arg(const char *&error) {
|
const Arg *fmt::internal::FormatterBase::next_arg(const char *&error) {
|
||||||
if (next_arg_index_ < 0) {
|
if (next_arg_index_ < 0) {
|
||||||
error = "cannot switch from manual to automatic argument indexing";
|
error = "cannot switch from manual to automatic argument indexing";
|
||||||
|
2
format.h
2
format.h
@ -889,8 +889,6 @@ private:
|
|||||||
// Parses argument index and returns corresponding argument.
|
// Parses argument index and returns corresponding argument.
|
||||||
const internal::Arg &parse_arg_index(const Char *&s);
|
const internal::Arg &parse_arg_index(const Char *&s);
|
||||||
|
|
||||||
void check_sign(const Char *&s, const internal::Arg &arg);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit BasicFormatter(BasicWriter<Char> &w) : writer_(w) {}
|
explicit BasicFormatter(BasicWriter<Char> &w) : writer_(w) {}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user