我正在我的项目中重构一个序列化库,以便它用-std=c++11编译,并且希望识别一个对象是否是一个STL容器。
is_stl_deque<T>::value
is_stl_list<T>::value
is_stl_vector<T>::value
is_set<T>::value
is_map<T>::value
is_pair<T>::value
is_sequence<T>::value是否有任何增强特性来检查一个对象是否是STL容器?
如果没有(我找不到),我如何实现一个?
发布于 2014-08-21 07:23:15
我不知道boost中是否有任何内容,但是列表中的内容很容易通过部分专门化来实现:
template<class T>
struct is_vector : std::false_type { };
template<class T, class Alloc>
struct is_vector<std::vector<T, Alloc>> : std::true_type { };https://stackoverflow.com/questions/25420199
复制相似问题