Fix warning
This commit is contained in:
parent
eb7e92e015
commit
bbcb6e8394
45
format.cc
45
format.cc
@ -585,6 +585,49 @@ FMT_FUNC void fmt::internal::format_windows_error(
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
template <typename Char>
|
||||||
|
void fmt::ArgList::Map<Char>::init(const ArgList &args) {
|
||||||
|
if (!map_.empty())
|
||||||
|
return;
|
||||||
|
const internal::NamedArg<Char>* named_arg;
|
||||||
|
bool use_values = args.type(MAX_PACKED_ARGS - 1) == internal::Arg::NONE;
|
||||||
|
if (use_values) {
|
||||||
|
for (unsigned i = 0;/*nothing*/; ++i) {
|
||||||
|
internal::Arg::Type arg_type = args.type(i);
|
||||||
|
switch (arg_type) {
|
||||||
|
case internal::Arg::NONE:
|
||||||
|
return;
|
||||||
|
case internal::Arg::NAMED_ARG:
|
||||||
|
named_arg = static_cast<const internal::NamedArg<Char>*>(args.values_[i].pointer);
|
||||||
|
map_.insert(Pair(named_arg->name, *named_arg));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/*nothing*/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (unsigned i = 0; i != MAX_PACKED_ARGS; ++i) {
|
||||||
|
internal::Arg::Type arg_type = args.type(i);
|
||||||
|
if (arg_type == internal::Arg::NAMED_ARG) {
|
||||||
|
named_arg = static_cast<const internal::NamedArg<Char>*>(args.args_[i].pointer);
|
||||||
|
map_.insert(Pair(named_arg->name, *named_arg));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (unsigned i = MAX_PACKED_ARGS;/*nothing*/; ++i) {
|
||||||
|
switch (args.args_[i].type) {
|
||||||
|
case internal::Arg::NONE:
|
||||||
|
return;
|
||||||
|
case internal::Arg::NAMED_ARG:
|
||||||
|
named_arg = static_cast<const internal::NamedArg<Char>*>(args.args_[i].pointer);
|
||||||
|
map_.insert(Pair(named_arg->name, *named_arg));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/*nothing*/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// An argument formatter.
|
// An argument formatter.
|
||||||
template <typename Char>
|
template <typename Char>
|
||||||
class fmt::internal::ArgFormatter :
|
class fmt::internal::ArgFormatter :
|
||||||
@ -736,6 +779,8 @@ FMT_FUNC Arg fmt::internal::FormatterBase::do_get_arg(
|
|||||||
break;
|
break;
|
||||||
case Arg::NAMED_ARG:
|
case Arg::NAMED_ARG:
|
||||||
arg = *static_cast<const internal::Arg*>(arg.pointer);
|
arg = *static_cast<const internal::Arg*>(arg.pointer);
|
||||||
|
default:
|
||||||
|
/*nothing*/;
|
||||||
}
|
}
|
||||||
return arg;
|
return arg;
|
||||||
}
|
}
|
||||||
|
|||||||
41
format.h
41
format.h
@ -1176,30 +1176,9 @@ struct fmt::ArgList::Map {
|
|||||||
typedef std::map<fmt::BasicStringRef<Char>, internal::Arg> MapType;
|
typedef std::map<fmt::BasicStringRef<Char>, internal::Arg> MapType;
|
||||||
typedef typename MapType::value_type Pair;
|
typedef typename MapType::value_type Pair;
|
||||||
|
|
||||||
void init(const ArgList &args) {
|
void init(const ArgList &args);
|
||||||
if (!map_.empty())
|
|
||||||
return;
|
|
||||||
bool use_values = args.type(MAX_PACKED_ARGS - 1) == internal::Arg::NONE;
|
|
||||||
if (use_values) {
|
|
||||||
add_packed(args, args.values_);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
add_packed(args, args.args_);
|
|
||||||
const internal::NamedArg<Char>* named_arg;
|
|
||||||
for (unsigned i = MAX_PACKED_ARGS; ; ++i) {
|
|
||||||
switch (args.args_[i].type) {
|
|
||||||
case internal::Arg::NONE:
|
|
||||||
return;
|
|
||||||
case internal::Arg::NAMED_ARG:
|
|
||||||
named_arg = static_cast<const internal::NamedArg<Char>*>(args.args_[i].pointer);
|
|
||||||
map_.insert(Pair(named_arg->name, *named_arg));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const internal::Arg* find(const fmt::BasicStringRef<Char> &name) const
|
const internal::Arg* find(const fmt::BasicStringRef<Char> &name) const {
|
||||||
{
|
|
||||||
typename MapType::const_iterator it = map_.find(name);
|
typename MapType::const_iterator it = map_.find(name);
|
||||||
if (it != map_.end())
|
if (it != map_.end())
|
||||||
return &it->second;
|
return &it->second;
|
||||||
@ -1208,22 +1187,6 @@ struct fmt::ArgList::Map {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
void add_packed(const ArgList &args, const T* data) {
|
|
||||||
const internal::NamedArg<Char>* named_arg;
|
|
||||||
for (unsigned i = 0; i != MAX_PACKED_ARGS; ++i) {
|
|
||||||
internal::Arg::Type arg_type = args.type(i);
|
|
||||||
switch (arg_type) {
|
|
||||||
case internal::Arg::NONE:
|
|
||||||
return;
|
|
||||||
case internal::Arg::NAMED_ARG:
|
|
||||||
named_arg = static_cast<const internal::NamedArg<Char>*>(data[i].pointer);
|
|
||||||
map_.insert(Pair(named_arg->name, *named_arg));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MapType map_;
|
MapType map_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user