From: Richard <leg...@xm...> - 2010-10-31 14:27:24
|
In article <AAN...@ma...>, Igor R <boo...@gm...> writes: > > identifier %= +(char_ - '{' - '('); > > Try to change to: > identifier %= +(char_ - "{("); Err... no. This actually causes previously successful parsing to fail. The two are not equivalent. The problem was elsewhere: start %= identifier >> ((attr(false) >> ifs2d) | (attr(true) >> ifs3d)); needed to become: start %= (identifier >> attr(false) >> ifs2d) | (identifier >> attr(true) >> ifs3d); It seems the attribute signature of the first is: tuple<string, tuple<bool, ifs_transform>> and the signature of the second is tuple<string, bool, ifs_transform> This latter signature is compatible with the fusion signature of my structure, but apparently the former is not. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/> Legalize Adulthood! <http://legalizeadulthood.wordpress.com> |