<div dir="ltr">Ahh, you are right.  It's between the free functions and the class.  But I think you're right, we should be able to remove them from the class entirely and just use the values on the free functions (or function, if it seems reasonable to remove one)</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 8, 2016 at 1:32 PM Mehdi AMINI <<a href="mailto:mehdi.amini@apple.com">mehdi.amini@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">mehdi_amini added inline comments.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
================<br class="gmail_msg">
Comment at: include/llvm/Support/Format.h:230-235<br class="gmail_msg">
+inline FormattedHexBytes format_hex_bytes_with_ascii(<br class="gmail_msg">
+    llvm::ArrayRef<uint8_t> Bytes, uint64_t FirstByteOffset = -1ULL,<br class="gmail_msg">
+    uint32_t NumPerLine = 16, uint8_t ByteGroupSize = 4) {<br class="gmail_msg">
+  return FormattedHexBytes(Bytes, FirstByteOffset, NumPerLine, ByteGroupSize,<br class="gmail_msg">
+                           false, true);<br class="gmail_msg">
+}<br class="gmail_msg">
----------------<br class="gmail_msg">
zturner wrote:<br class="gmail_msg">
> It's a bit confusing to me that there are two almost identical versions of the function with different default values for the parameters.  What about having a single version that takes all parameters?  If so, I would suggest the signature be something like:<br class="gmail_msg">
><br class="gmail_msg">
> `format_hex_bytes(ArrayRef<uint8_t>, bool ShowAsciiBlock = true, uint32_t BytesPerLine=16, uint8_t BytesPerGroup = 4, bool Upper = true, Optional<size_t> FirstByteOffset = 0)`.<br class="gmail_msg">
><br class="gmail_msg">
> I'm not sure if this is the optimal ordering of parameters, but I tried to arrange this in order from most commonly specified to least commonly specified.  Not sure if I got it right though.<br class="gmail_msg">
><br class="gmail_msg">
> If you think it's better to have two versions of the functions, at least make the default values of the arguments be the same.<br class="gmail_msg">
Which default argument value is different between the two free functions? I think they are identical.<br class="gmail_msg">
<br class="gmail_msg">
The default is different on the class ctor though, and it may even be possible to remove the default there as the two free functions are making the uses "nice" enough.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D26405" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D26405</a><br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>