title: Function pointer size on 64 bit linux
body: <p>I'm writing a simpler(faster) equivalent of std/boost::function. My chief concern is simplicity and efficiency, the platform is restricted to x86-64 linux, compiled with gcc and clang.</p>
  
  <p>Under the above restriction, is it fair to assume that </p>
  
  <ol>
  <li>all function pointers, i.e., pointers to free function, member function (of POD, classes with virtual methods, derived classes, virtually inherited class...), functor, lambda... are all of size at most 16 bytes? </li>
  <li>And what is the alignment requirement?</li>
  </ol>