[ 
https://issues.apache.org/jira/browse/LOGCXX-419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13866259#comment-13866259
 ] 

Rhys Ulerich commented on LOGCXX-419:
-------------------------------------

Problem appears to be that "KeySet" changes meaning from spi::KeySet to 
LoggingEvent::KeySet halfway through the class:

156                         /**                                                 
    
157                         * Returns the set of of the key values in the MDC 
for the event.                                  
158                         * The returned set is unmodifiable by the caller.   
                               
159                         *                                                   
        
160                         * @return Set an unmodifiable set of the MDC keys.  
                                
161                         *␣                                               
162                         */                                               
163                         KeySet getMDCKeySet() const;                        
                                      
164                                                                             
                                      
165                         /**                                                 
                                      
166                         Obtain a copy of this thread's MDC prior to 
serialization                                   
167                         or asynchronous logging.                            
                                        
168                         */                                                  
                                        
169                         void getMDCCopy() const;                            
                     
170                                                                             
                        
171                         typedef spi::KeySet KeySet;                         
                          
172                         /**                                                 
                          
173                         * Return a previously set property.                 
                          
174                         * @param key key.                                   
                                        
175                         * @param dest string to which value, if any, is 
appended.                                   
176                         * @return true if key had a corresponding value.    
                                        
177                         */                                                  
                                  
178                         bool getProperty(const LogString& key, LogString& 
dest) const;                                  
179                         /**                                                 
                    
180                         * Returns the set of of the key values in the 
properties                                  
181                         * for the event. The returned set is unmodifiable 
by the caller.                                  
182                         *                                                   
                     
183                         * @return Set an unmodifiable set of the property 
keys.                                  
184                         */                                                  
                             
185                         KeySet getPropertyKeySet() const;                   
   

> 'typedef spi::KeySet KeySet' changes meaning of typedef
> -------------------------------------------------------
>
>                 Key: LOGCXX-419
>                 URL: https://issues.apache.org/jira/browse/LOGCXX-419
>             Project: Log4cxx
>          Issue Type: Bug
>          Components: Filter
>    Affects Versions: 0.10.0, 0.10.1
>         Environment: Ubuntu Saucy, GCC 4.8.1, Autotools
>            Reporter: Rhys Ulerich
>            Assignee: Rhys Ulerich
>
> Observed in the build...
> In file included from 
> ../../../../log4cxx/src/main/include/log4cxx/spi/filter.h:24:0,
>                  from 
> ../../../../log4cxx/src/main/include/log4cxx/filter/andfilter.h:27,
>                  from ../../../../log4cxx/src/main/cpp/andfilter.cpp:18:
> ../../../../log4cxx/src/main/include/log4cxx/spi/loggingevent.h:171:45: 
> error: declaration of ‘typedef log4cxx::spi::KeySet 
> log4cxx::spi::LoggingEvent::KeySet’ [-fpermissive]
>                          typedef spi::KeySet KeySet;
>                                              ^
> In file included from 
> ../../../../log4cxx/src/main/include/log4cxx/helpers/objectptr.h:21:0,
>                  from 
> ../../../../log4cxx/src/main/include/log4cxx/spi/filter.h:21,
>                  from 
> ../../../../log4cxx/src/main/include/log4cxx/filter/andfilter.h:27,
>                  from ../../../../log4cxx/src/main/cpp/andfilter.cpp:18:
> ../../../../log4cxx/src/main/include/log4cxx/spi/loggingevent.h:46:34: error: 
> changes meaning of ‘KeySet’ from ‘typedef class 
> std::vector<std::basic_string<char> > log4cxx::spi::KeySet’ [-fpermissive]
>                  LOG4CXX_LIST_DEF(KeySet, LogString);
>                                   ^
> ../../../../log4cxx/src/main/include/log4cxx/log4cxx.h:48:55: note: in 
> definition of macro ‘LOG4CXX_LIST_DEF’
>  #define LOG4CXX_LIST_DEF(N, T) typedef std::vector<T> N



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to