diff options
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/lru-cache.hh | 6 | ||||
-rw-r--r-- | src/libutil/ref.hh | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/libutil/lru-cache.hh b/src/libutil/lru-cache.hh index 4344d6601bc8..35983aa2c918 100644 --- a/src/libutil/lru-cache.hh +++ b/src/libutil/lru-cache.hh @@ -79,6 +79,12 @@ public: { return data.size(); } + + void clear() + { + data.clear(); + lru.clear(); + } }; } diff --git a/src/libutil/ref.hh b/src/libutil/ref.hh index 349f24f7c488..9f5da09152c9 100644 --- a/src/libutil/ref.hh +++ b/src/libutil/ref.hh @@ -44,6 +44,12 @@ public: } template<typename T2> + ref<T2> cast() + { + return ref<T2>(std::dynamic_pointer_cast<T2>(p)); + } + + template<typename T2> operator ref<T2> () { return ref<T2>((std::shared_ptr<T2>) p); |