Program Listing for File type_traits.h

Return to documentation for file (include/converter/include/mindapi/base/type_traits.h)

#ifndef MINDSPORE_CORE_MINDAPI_BASE_TYPE_TRAITS_H_
#define MINDSPORE_CORE_MINDAPI_BASE_TYPE_TRAITS_H_

#include <vector>
#include <memory>
#include <type_traits>
#include "mindapi/base/shared_ptr.h"

namespace mindspore::api {
template <typename T>
struct is_wrapper_ptr : public std::false_type {};
template <typename T>
struct is_wrapper_ptr<SharedPtr<T>> : public std::true_type {};

template <typename T>
struct is_shared_ptr : public std::false_type {};
template <typename T>
struct is_shared_ptr<std::shared_ptr<T>> : public std::true_type {};

template <typename T>
struct is_vector : public std::false_type {};
template <typename T, typename A>
struct is_vector<std::vector<T, A>> : public std::true_type {};
}  // namespace mindspore::api

#endif  // MINDSPORE_CORE_MINDAPI_BASE_TYPE_TRAITS_H_