Here you go Lars,  this is the error messages and some of the discussion
about them...

Allan. (ARRae)

---------- Forwarded message ----------
Date: Sun, 24 Jun 2001 02:39:26 +1000 (GMT+1000)
From: Allan Rae <[EMAIL PROTECTED]>
To: Allan Rae <[EMAIL PROTECTED]>
Cc: Michael Schmitt <[EMAIL PROTECTED]>
Subject: Re: Help needed? (fwd)

On Sun, 24 Jun 2001, Allan Rae wrote:

> On Sat, 23 Jun 2001, Michael Schmitt wrote:
>
> > We are back in race again! libtool-1.4 and AR_FLAGS solved all
> > configuration problems & compilation of sigc++!!!
>
> Yay!
>
> > In order to practice your C++ skills, you might tell me why I get the
> > following errors :-)
> >
> > "../../src/lyxparagraph.h", line 371: Error: LyXParagraph::InsetTable is
> > not accessible from LyXParagraph::matchIT.
> > "../../src/lyxparagraph.h", line 372: Error: LyXParagraph::InsetTable is
> > not accessible from LyXParagraph::matchIT.
> > "../../src/lyxparagraph.h", line 424: Error: LyXParagraph::FontTable is
> > not accessible from LyXParagraph::matchFT.
> > "../../src/lyxparagraph.h", line 425: Error: LyXParagraph::FontTable is
> > not accessible from LyXParagraph::matchFT.
> > "../../src/lyxparagraph.h", line 466: Error: LyXParagraph::InsetList is
> > not accessible from LyXParagraph::inset_iterator.
> > "../../src/lyxparagraph.h", line 486: Error: LyXParagraph::InsetList is
> > not accessible from LyXParagraph::inset_iterator.
> >
> > In the past, I solved this radically by making the data structures public
> > but, of course, Lars et al. were not willing to commit such a change. Do
> > you have a better proposal?
>
> Well it looks like a strange concoction they have there but it is my opion
> that :
>         struct matchIT {
>                 /// used by lower_bound and upper_bound
>                 inline
>                 int operator()(LyXParagraph::InsetTable const & a,
>                                LyXParagraph::InsetTable const & b) const {
>                         return a.pos < b.pos;
>                 }
>         };
>
> and its siblings should be _outside_ LyXParagraph.  But I don't think this
> help much as that will probably give us a heap of other problems.
>
> The good thing should be that they could be shifted to the head of
> paragraph.C and not even need to be in the header.
>
> How's your surgical skills?
>
> Can you try cutting and pasting the definitions of struct matchIT into the
> top of paragraph.C (below all the headers but just before the first
> function -- actually just about anywhare should work.
>
> And comment out the entry in the header.  Use // at the start of the
> lines.

At worst we may just need to change:

        ///
        bool linuxDocConvertChar(char c, string & sgml_string);
-  private:
+  protected:
        ///
        struct InsetTable {

and

      typedef std::vector<InsetTable> InsetList;
+  private:
        ///
        InsetList insetlist;
        ///
        LyXParagraph * TeXDeeper(Buffer const *, BufferParams const &,
                                 std::ostream &, TexRow & texrow);
        ///

I really can't see why they want to insist on hiding the definition of the
structs in private areas!  They only need to hide the variables that use
those definitions!  In fact I'm pretty sure there are occasions in the
GUII work where we used to hide some data types but dec's cc complained
about them being private so we shifted them.  Oh well we'll see what
happens shall we...

Allan. (ARRae)


Reply via email to