www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - newbie: Circular references across modules

reply "Larry Luther" <larry.luther dolby.com> writes:
This code describes the concept:

module a;
import B;

struct A { B *ptr; }

---------------------

module b;
import A;

struct B { A *ptr; }

-----------------------------

Can this be done?
Do both classes have to be in the same module?
Apr 29 2010
next sibling parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 04/29/2010 09:04 PM, Larry Luther wrote:
 This code describes the concept:

 module a;
 import B;

 struct A { B *ptr; }

 ---------------------

 module b;
 import A;

 struct B { A *ptr; }

 -----------------------------

 Can this be done?

sure
 Do both classes have to be in the same module?

It's probably not a bad idea to put A and B in the same module, but you shouldn't run into any trouble as you are, as long as you don't need any static constructors or destructors in either a or b.
Apr 29 2010
parent BCS <none anon.com> writes:
Hello Ellery,

 as long as you don't
 need any static constructors or destructors in either a or b.

It's a side issue but: static constructors + cyclic imports == pain -- ... <IXOYE><
Apr 30 2010
prev sibling parent "Larry Luther" <larry.luther dolby.com> writes:
Thanks for your help. 
Apr 30 2010