X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FFormatArg.h;h=6f25299e5217c647825452a1661386f08aa0e8ab;hb=a3323738a37ad3e8cae4a70931728e82fb5aeb6f;hp=edd16a25cd25f141f1caf9d1e69489f7a706d4a1;hpb=546bd3f5f2ed1fdf3a0f5c2b6737a20c4bc2f561;p=folly.git diff --git a/folly/FormatArg.h b/folly/FormatArg.h index edd16a25..6f25299e 100644 --- a/folly/FormatArg.h +++ b/folly/FormatArg.h @@ -1,5 +1,5 @@ /* - * Copyright 2014 Facebook, Inc. + * Copyright 2016 Facebook, Inc. * * 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. */ -#ifndef FOLLY_FORMATARG_H_ -#define FOLLY_FORMATARG_H_ +#pragma once #include #include @@ -48,6 +47,7 @@ struct FormatArg { thousandsSeparator(false), trailingDot(false), width(kDefaultWidth), + widthIndex(kNoIndex), precision(kDefaultPrecision), presentation(kDefaultPresentation), nextKeyMode_(NextKeyMode::NONE) { @@ -81,7 +81,7 @@ struct FormatArg { template std::string errorStr(Args&&... args) const; template - FOLLY_NORETURN void error(Args&&... args) const; + [[noreturn]] void error(Args&&... args) const; /** * Full argument string, as passed in to the constructor. @@ -135,10 +135,13 @@ struct FormatArg { bool trailingDot; /** - * Field width + * Field width and optional argument index */ static constexpr int kDefaultWidth = -1; + static constexpr int kDynamicWidth = -2; + static constexpr int kNoIndex = -1; int width; + int widthIndex; /** * Precision @@ -271,5 +274,3 @@ inline int FormatArg::splitIntKey() { } } // namespace folly - -#endif /* FOLLY_FORMATARG_H_ */