title: lock free containers and visibility
body: <p>I've seen some lock free implementations of stack... My question is regarding the visibility, not atomicity. For example do elements(<strong>not pointers</strong>) of lock free stack must be at most 64bit? I think so, because you cant guarante visibility. Real example: can this struct be safely inserted and removed from lock free container</p>
  
  <pre><code>struct person
  {
     string name;
     uint32_t age;
  }
  </code></pre>
  
  <p>EDIT: some people are confused by the question. To explain a bit: if writer pushes person on stack, reader gets it, is it guaranteed that reader sees(memory visibility) correct content of the person.</p>