<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hello!</div><div><br></div><div>I'm just curious about what are the reasons to forcing inlining of that sort of functions like <i>std::string::length?</i> Precluding them to be included into libc++ binary breaks linkage of the following snippet of code </div><div><br></div><div><div></div></div><blockquote type="cite"><div><div>int main(int ARGC, char *ARGV[])() {</div><div><br></div><div>  std::vector<std::string>  pray = { "I", "will", "not", "aim", "for", "the", "head" };</div><div>  std::vector<size_t>       lengths;</div><div><br></div><div>  std::transform(pray.begin(), pray.end(), std::back_inserter(lengths), std::mem_fn(&std::string::size));</div></div><div><br></div><div>  return 0;</div><div><br></div><div>}</div></blockquote><div><br></div>with the error:<div><br></div><div><div></div><blockquote type="cite"><div>Undefined symbols for architecture x86_64:</div><div>  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::length() const", referenced from:</div><div>      _main in assignment-F0ysIg.o</div><div>ld: symbol(s) not found for architecture x86_64</div><div>clang: error: linker command failed with exit code 1 (use -v to see invocation)</div></blockquote><br><div>
Best regards,<br>Alexey Kudinkin

</div>
<br></div></body></html>