diff options
author | Eliot Horowitz <eliot@10gen.com> | 2015-01-18 20:00:05 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2015-01-18 20:00:05 -0500 |
commit | 386398eb40626cf44d76f010a8d474b75b3f7adf (patch) | |
tree | 214c1d9714499574f78eda79f0c7af8b49cbef46 /src/mongo/base | |
parent | 2e32dbb3ddc8aef4945e465795904c0f30d0f944 (diff) | |
download | mongo-386398eb40626cf44d76f010a8d474b75b3f7adf.tar.gz |
SERVER-16865: make linter happy
Diffstat (limited to 'src/mongo/base')
-rw-r--r-- | src/mongo/base/checked_cast.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mongo/base/checked_cast.h b/src/mongo/base/checked_cast.h index 662406553f5..3d3c1c964c5 100644 --- a/src/mongo/base/checked_cast.h +++ b/src/mongo/base/checked_cast.h @@ -45,33 +45,33 @@ namespace mongo { template<> struct checked_cast_impl<false> { template<typename T, typename U> - static void check_type(const U& u) { + static T cast(const U& u) { + return static_cast<T>(u); } }; template<> struct checked_cast_impl<true> { template<typename T, typename U> - static void check_type(U* u) { - invariant(u == NULL || dynamic_cast<T>(u)); + static T cast(U* u) { + if (!u) { + return NULL; + } + T t = dynamic_cast<T>(u); + invariant(t); + return t; } template<typename T, typename U> - static void check_type(const U& u) { - try { - invariant(&dynamic_cast<T>(u)); - } - catch(...) { - invariant(false); - } + static T cast(const U& u) { + return dynamic_cast<T>(u); } }; template<typename T, typename U> T checked_cast(const U& u) { - checked_cast_impl<debug>::check_type<T>(u); - return static_cast<T>(u); + return checked_cast_impl<debug>::cast<T>(u); }; } // namespace mongo |