aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-07-25 13:39:41 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-07-25 13:39:41 (GMT)
commit9348d192f6031b911cceb8ede31aadb9d184b2a3 (patch)
treecc63d189e55ebd9de3ed871ac18bcb7853af1f72
parent5d23759aec28c801354bb37190d3259e0787ec37 (diff)
downloadfluxbox_pavel-9348d192f6031b911cceb8ede31aadb9d184b2a3.zip
fluxbox_pavel-9348d192f6031b911cceb8ede31aadb9d184b2a3.tar.bz2
Add comparison operators to FbTk::RefCount
without them, gcc would compare them by converting them to bool first, which is not exactly what one would expect. Frankly, I'm surprised it even worked without this.
-rw-r--r--src/FbTk/RefCount.hh30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/FbTk/RefCount.hh b/src/FbTk/RefCount.hh
index cc8c917..5325b78 100644
--- a/src/FbTk/RefCount.hh
+++ b/src/FbTk/RefCount.hh
@@ -152,6 +152,36 @@ inline RefCount<Pointer> makeRef(const Arg1 &arg1, const Arg2 &arg2, const Arg3
152 return RefCount<Pointer>(new Pointer(arg1, arg2, arg3)); 152 return RefCount<Pointer>(new Pointer(arg1, arg2, arg3));
153} 153}
154 154
155template <typename Pointer, typename Pointer2>
156inline bool operator == (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
157 return a.get() == b.get();
158}
159
160template <typename Pointer, typename Pointer2>
161inline bool operator != (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
162 return a.get() != b.get();
163}
164
165template <typename Pointer, typename Pointer2>
166inline bool operator < (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
167 return a.get() < b.get();
168}
169
170template <typename Pointer, typename Pointer2>
171inline bool operator > (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
172 return a.get() > b.get();
173}
174
175template <typename Pointer, typename Pointer2>
176inline bool operator <= (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
177 return a.get() <= b.get();
178}
179
180template <typename Pointer, typename Pointer2>
181inline bool operator >= (const RefCount<Pointer> &a, const RefCount<Pointer2> &b) {
182 return a.get() >= b.get();
183}
184
155} // end namespace FbTk 185} // end namespace FbTk
156 186
157#endif // FBTK_REFCOUNT_HH 187#endif // FBTK_REFCOUNT_HH