template<typename T>
struct is_vector_impl
{
enum { value = false };
};

template<typename T>
struct is_vector_impl< std::vector<T> >
{
enum { value = true };
};

template<typename T>
struct is_vector
{
enum { value = is_vector_impl< boost::remove_volatile< boost::remove_const< boost::remove_reference<T>::type >::type >::type >::value };
};

BOOST_STATIC_ASSERT( (is_vector<int>::value == false) );
BOOST_STATIC_ASSERT( (is_vector< std::vector<int> >::value == true) );
BOOST_STATIC_ASSERT( (is_vector< const std::vector<int> >::value == true) );
BOOST_STATIC_ASSERT( (is_vector< std::vector<int>& >::value == true) );
BOOST_STATIC_ASSERT( (is_vector< const std::vector<int>& >::value == true) );

레이옷 블로그에 댓글 달고 있다가 자꾸 글자들을 먹어버려서 여기에 포스팅-_-;

'자료 > 내자료' 카테고리의 다른 글

SPE 길찾기용 지형구조 - V2  (1) 2007.02.22
SPE V1 - 길찾기용 지형구조  (9) 2006.12.10
게임을 위한 GUI모듈  (4) 2006.07.31
MSB/LSB template  (0) 2006.05.18
is_template  (0) 2006.05.10

+ Recent posts