Replace TypeStaticIf<> with std::conditional<> (C++11).

Test: m
Change-Id: I7052da55bfe4d69b2ac62965689b89e4f8548056
diff --git a/runtime/base/allocator.h b/runtime/base/allocator.h
index 99cdb49..3cedb66 100644
--- a/runtime/base/allocator.h
+++ b/runtime/base/allocator.h
@@ -17,10 +17,11 @@
 #ifndef ART_RUNTIME_BASE_ALLOCATOR_H_
 #define ART_RUNTIME_BASE_ALLOCATOR_H_
 
+#include <type_traits>
+
 #include "atomic.h"
 #include "base/macros.h"
 #include "base/mutex.h"
-#include "base/type_static_if.h"
 
 namespace art {
 
@@ -147,9 +148,9 @@
 template<class T, AllocatorTag kTag>
 // C++ doesn't allow template typedefs. This is a workaround template typedef which is
 // TrackingAllocatorImpl<T> if kEnableTrackingAllocator is true, std::allocator<T> otherwise.
-using TrackingAllocator = typename TypeStaticIf<kEnableTrackingAllocator,
-                                                TrackingAllocatorImpl<T, kTag>,
-                                                std::allocator<T>>::type;
+using TrackingAllocator = typename std::conditional<kEnableTrackingAllocator,
+                                                    TrackingAllocatorImpl<T, kTag>,
+                                                    std::allocator<T>>::type;
 
 }  // namespace art
 
diff --git a/runtime/base/type_static_if.h b/runtime/base/type_static_if.h
deleted file mode 100644
index a74d79a..0000000
--- a/runtime/base/type_static_if.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ART_RUNTIME_BASE_TYPE_STATIC_IF_H_
-#define ART_RUNTIME_BASE_TYPE_STATIC_IF_H_
-
-// A static if which determines whether to return type A or B based on the condition boolean.
-template <bool condition, typename A, typename B>
-struct TypeStaticIf {
-  typedef A type;
-};
-
-// Specialization to handle the false case.
-template <typename A, typename B>
-struct TypeStaticIf<false, A,  B> {
-  typedef B type;
-};
-
-#endif  // ART_RUNTIME_BASE_TYPE_STATIC_IF_H_