summaryrefslogtreecommitdiff
path: root/src/mongo/base
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2015-01-18 20:00:05 -0500
committerEliot Horowitz <eliot@10gen.com>2015-01-18 20:00:05 -0500
commit386398eb40626cf44d76f010a8d474b75b3f7adf (patch)
tree214c1d9714499574f78eda79f0c7af8b49cbef46 /src/mongo/base
parent2e32dbb3ddc8aef4945e465795904c0f30d0f944 (diff)
downloadmongo-386398eb40626cf44d76f010a8d474b75b3f7adf.tar.gz
SERVER-16865: make linter happy
Diffstat (limited to 'src/mongo/base')
-rw-r--r--src/mongo/base/checked_cast.h24
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