[ 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)