nathan binkert wrote: >> Is there a way to forward declare a typedef? We used PacketPtr and >> RequestPtr all over the place in header files which requires including >> packet.hh and request.hh. However, in many cases the only reason we >> need to include the header files is because of the typedef. >> > > There is no way to forward declare a typedef, though you can just > define the typedef twice. We could create a file like > src/mem/forward.hh and stick the few typedefs that we need in it. > > iosfwd from the standard library is an example of this sort of file. > > Nate > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev >
I may be mangling this a little since I haven't looked at it in a while, but I think there's a basically unbreakable string of dependencies between, for instance, PacketPtr and the Packet class, namely PacketPtr typedef => PacketPtr reference counting pointer => Packet class. I think it's pretty much reduced to just those elements as is, so all you'd be doing is moving it around. Can you forward declare the reference counting pointer class and then use it in a typedef? I was under the impression you couldn't. Gabe _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
