Gabriel Dos Reis <[EMAIL PROTECTED]> writes:

> David Abrahams <[EMAIL PROTECTED]> writes:
>
> | Let me reiterate, just in case somebody missed it: this is a similar
> | problem to that of using a pointer/reference-to-data-member as a
> | template paramter.  You can think of each thread-local global variable
> | as a data member in a big struct, of which there's a single instance
> | per thread.  The address of this global variable is just as much a
> | constant as the address of a data member.  There's no problem here,
> | AFAICT.
>
> I see your analogy. 
>
> However, my point is that
>
>   * a class is closed: that is, by the time you put the closing brace,
>     the "offset" of the data member is a compile-time constant.
>
>   * the number of thread local variables is potentially unbounded,
>     meaning that, using your analogy, the offset of the corresponding
>     data-member is not known by the time the compiler finishes
>     processing a given translation unit.

OK... is that a problem?  The address of a static global is not known
when the compiler finishes processing a given translation unit either.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to