def write_decl(self, out, context): if context == 'datastore': out.writeline('ContainerBase const* {name}Container_{{0}};'.format( name=self.refname)) Branch.write_decl(self, out, context) else: if context == 'Singlet': out.indent -= 1 out.writeline('protected:') out.indent += 1 out.writeline( 'ContainerBase const* {name}Container_{{0}};'.format( name=self.refname)) Branch.write_decl(self, out, context) out.indent -= 1 out.writeline('public:') out.indent += 1 if self.is_array(): out.writeline('Ref<{type}> {name}{arrdef}{{}};'.format( type=self.objname, name=self.refname, arrdef=self.arrdef_text())) else: out.writeline('Ref<{type}> {name};'.format(type=self.objname, name=self.refname))