This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: what's next
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: Carlo Wood <carlo at alinoe dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Thu, 5 Dec 2002 19:05:59 -0600
- Subject: Re: what's next
- References: <rt-6444-26525.13.5026931490963@rt.gnu.org><20021204232045.GA8085@alinoe.com><20021204183457.04334c27.bkoz@redhat.com><20021204185711.2c258cbd.bkoz@redhat.com><20021205014606.GA10993@alinoe.com><20021204224911.2c437a33.bkoz@redhat.com><20021205142313.GB12736@alinoe.com>
>About the allocator template parameter, that is my original design.
I like the design you proposed below. How can I help you with this?
Please let me know what I can do to help you. For instance, I could try
to do the test infrastructure, but perhaps you have plans for that as
well.
>The lowest level interface, which can be totally hidden from the normal
>public, but which should be globally accessible somehow, is - at the moment:
>
>namespace /*something*/ { ...
__gnu_cxx
>
> namespace demangler { // This is the inner name I propose, it makes things readable.
>
> template<typename Allocator>
> class session {
> private:
> // ... lots of stuff here
> public:
> explicit session(char const* in, int len);
> static int decode_encoding(std::basic_string<char, std::char_traits<char>, Allocator>& output, char const* input, int len);
> bool decode_type(std::basic_string<char, std::char_traits<char>, Allocator>& output, qualifier_list<Allocator>* qualifiers = NULL);
> bool remaining_input_characters(void) const;
> };
>
> } // namespace demangler
>}
this, plus
>namespace foobar {
>
>//
>// Public interface
>//
>
>template<typename Allocator>
> struct demangle {
> typedef Allocator allocator_type;
>
> static std::basic_string<char, std::char_traits<char>, Allocator> symbol(char const* in);
> static std::basic_string<char, std::char_traits<char>, Allocator> type(char const* in);
> };
plus the __cxa_demangle bits as posted/sketched look swell. I think this
looks good.
-benjamin