projects
/
folly.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Compile RangeSse42.cpp with -msse4.2
[folly.git]
/
folly
/
FormatArg.h
diff --git
a/folly/FormatArg.h
b/folly/FormatArg.h
index e815064660d0c9fbc89be0b15b2f8acf740fe414..701654b3397453a8a59e7c924c0a6ff08ff858dc 100644
(file)
--- a/
folly/FormatArg.h
+++ b/
folly/FormatArg.h
@@
-1,5
+1,5
@@
/*
/*
- * Copyright 201
4
Facebook, Inc.
+ * Copyright 201
6
Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-14,8
+14,7
@@
* limitations under the License.
*/
* limitations under the License.
*/
-#ifndef FOLLY_FORMATARG_H_
-#define FOLLY_FORMATARG_H_
+#pragma once
#include <stdexcept>
#include <folly/Conv.h>
#include <stdexcept>
#include <folly/Conv.h>
@@
-46,7
+45,9
@@
struct FormatArg {
sign(Sign::DEFAULT),
basePrefix(false),
thousandsSeparator(false),
sign(Sign::DEFAULT),
basePrefix(false),
thousandsSeparator(false),
+ trailingDot(false),
width(kDefaultWidth),
width(kDefaultWidth),
+ widthIndex(kNoIndex),
precision(kDefaultPrecision),
presentation(kDefaultPresentation),
nextKeyMode_(NextKeyMode::NONE) {
precision(kDefaultPrecision),
presentation(kDefaultPresentation),
nextKeyMode_(NextKeyMode::NONE) {
@@
-80,7
+81,7
@@
struct FormatArg {
template <typename... Args>
std::string errorStr(Args&&... args) const;
template <typename... Args>
template <typename... Args>
std::string errorStr(Args&&... args) const;
template <typename... Args>
-
FOLLY_NORETURN
void error(Args&&... args) const;
+
[[noreturn]]
void error(Args&&... args) const;
/**
* Full argument string, as passed in to the constructor.
/**
* Full argument string, as passed in to the constructor.
@@
-129,10
+130,18
@@
struct FormatArg {
bool thousandsSeparator;
/**
bool thousandsSeparator;
/**
- * Field width
+ * Force a trailing decimal on doubles which could be rendered as ints
+ */
+ bool trailingDot;
+
+ /**
+ * Field width and optional argument index
*/
static constexpr int kDefaultWidth = -1;
*/
static constexpr int kDefaultWidth = -1;
+ static constexpr int kDynamicWidth = -2;
+ static constexpr int kNoIndex = -1;
int width;
int width;
+ int widthIndex;
/**
* Precision
/**
* Precision
@@
-202,7
+211,7
@@
inline std::string FormatArg::errorStr(Args&&... args) const {
}
template <typename... Args>
}
template <typename... Args>
-inline void FormatArg::error(Args&&... args) const {
+
[[noreturn]]
inline void FormatArg::error(Args&&... args) const {
throw BadFormatArg(errorStr(std::forward<Args>(args)...));
}
throw BadFormatArg(errorStr(std::forward<Args>(args)...));
}
@@
-265,6
+274,3
@@
inline int FormatArg::splitIntKey() {
}
} // namespace folly
}
} // namespace folly
-
-#endif /* FOLLY_FORMATARG_H_ */
-