C++ err msgs [ was Re: building libstdc++-v3 from the 20000105 snapshot dies with multiple def errors. ]

Petter Urkedal petter@matfys.lth.se
Thu May 11 02:15:00 GMT 2000


Jason Merrill wrote:
> 
> I think more Gnuically correct would be
> 
> std::basic_string<char,
>                   std::char_traits<char>,
>                   std::allocator<char> >
>    ::basic_string (unsigned int, char, std::allocator<char> const &)

I don't see how this will look like if we have to split nested
templates.  How about

    std::basic_string
      < char,
        std::char_traits<char>,
        std::allocator<char>
      >::basic_string(unsigned int, char, std::allocator<char> const &)

A more compilcated symbol would then look like

    std::map
      < std::basic_string
          < char,
            std::char_traits<char>,
            std::allocator<char>
          >,
        std::pair<int, int>
      >::operator[](std::basic_string
                      < char,
                        std::char_traits<char>,
                        std::allocator<char>
                      >)

Of course, only part which do not fit on a line is split.

In my own code, I have been using a more schemish approach, which
BTW is closer to your suggestion,
    
    std::map
      < std::basic_string
          < char,
            std::char_traits<char>,
            std::allocator<char> >,
        std::pair<int, int> >
      ::operator[](std::basic_string
                     < char,
                       std::char_traits<char>,
                       std::allocator<char> >)

but that may take some more time to get used to as < and > are
not on the same column, and thus more difficult to match with the
eye.

 -petter.


-- 
[ http://matfys.lth.se/~petter/ ]


More information about the Libstdc++ mailing list