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