diff options
author | Steve Pucci <spucci@google.com> | 2014-01-17 18:25:25 +0000 |
---|---|---|
committer | Steve Pucci <spucci@google.com> | 2014-01-17 18:25:25 +0000 |
commit | aa71cd8d2651190e752b52f4d74b920de968c2bf (patch) | |
tree | 45eff4f376eb593db0f1e5b023b7c551bd8c9c1c | |
parent | fc99572540f6012d0f5147dddcb4a7fdefb7af0e (diff) | |
download | bcm5719-llvm-aa71cd8d2651190e752b52f4d74b920de968c2bf.tar.gz bcm5719-llvm-aa71cd8d2651190e752b52f4d74b920de968c2bf.zip |
Avoid the gcc warning -Wno-non-template-friend
To avoid this warning, friend declarations inside template classes
must be declared as templates:
http://stackoverflow.com/questions/4039817/friend-declaration-declares-a-non-template-function
llvm-svn: 199505
-rw-r--r-- | lldb/include/lldb/Utility/Iterable.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lldb/include/lldb/Utility/Iterable.h b/lldb/include/lldb/Utility/Iterable.h index 9b91cae37ee..17335373e72 100644 --- a/lldb/include/lldb/Utility/Iterable.h +++ b/lldb/include/lldb/Utility/Iterable.h @@ -147,9 +147,14 @@ public: return m_iter >= rhs.m_iter; } - friend AdaptedConstIterator operator+(typename BackingIterator::difference_type, AdaptedConstIterator &); - friend typename BackingIterator::difference_type operator-(AdaptedConstIterator &, AdaptedConstIterator &); - friend void swap(AdaptedConstIterator &, AdaptedConstIterator &); + template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)> + friend AdaptedConstIterator<C1, E1, A1> operator+(typename C1::const_iterator::difference_type, AdaptedConstIterator<C1, E1, A1> &); + + template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)> + friend typename C1::const_iterator::difference_type operator-(AdaptedConstIterator<C1, E1, A1> &, AdaptedConstIterator<C1, E1, A1> &); + + template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)> + friend void swap(AdaptedConstIterator<C1, E1, A1> &, AdaptedConstIterator<C1, E1, A1> &); }; template <typename C, typename E, E (*A)(typename C::const_iterator &)> |