This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: what's next


>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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]