On 12/21/2013 10:28 PM, Timon Gehr wrote:
Well, you pass an alias. Are you saying that for alias template
arguments, the scope of the template declaration applies for
accessibility checking? I.e. we cannot pass private symbols as alias
arguments? I think this is an unreasonably high price to pay.

You can pass them and basically it behaves like public aliases, in the sense that the one who instantiates a template passes a public alias to a possibly private symbol.

It's a question of transitivity what the template can do with the symbol.

Currently it's not possible to call private functions or private methods of variables that are passed via alias parameter.

Basically just the constructor thing though?
Note that constructors cannot be passed by alias due to a syntax
restriction... :o)

Reply via email to