diff options
author | Susumu Yata <susumu.yata@gmail.com> | 2018-11-02 14:21:13 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-02 14:21:13 +0900 |
commit | 7dacb0f2400a8b40285e3830784d87bf813de699 (patch) | |
tree | b59083ace18067f7b11ec21bf2a528c7ae180293 | |
parent | cd9cd6d78065bbfe68d2755587d71d0440d9b61a (diff) | |
parent | d081cf3abae5bfbc28b7a2fb213fa4336af6bf11 (diff) | |
download | marisa-trie-7dacb0f2400a8b40285e3830784d87bf813de699.tar.gz |
Merge pull request #20 from glebm/fix-swap
Fix `swap` overload
-rw-r--r-- | include/marisa/base.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/include/marisa/base.h b/include/marisa/base.h index 17606c0..7b1caf3 100644 --- a/include/marisa/base.h +++ b/include/marisa/base.h @@ -162,6 +162,13 @@ typedef enum marisa_config_mask_ { #endif // __cplusplus #ifdef __cplusplus + +// `std::swap` is in <utility> since C++ 11 but in <algorithm> in C++ 98: +#if __cplusplus>=201103L +#include <utility> +#else +#include <algorithm> +#endif namespace marisa { typedef ::marisa_uint8 UInt8; @@ -175,12 +182,7 @@ typedef ::marisa_cache_level CacheLevel; typedef ::marisa_tail_mode TailMode; typedef ::marisa_node_order NodeOrder; -template <typename T> -inline void swap(T &lhs, T &rhs) { - T temp = lhs; - lhs = rhs; - rhs = temp; -} +using std::swap; } // namespace marisa #endif // __cplusplus |