public List selectList(List whereCond, Map valueMap, int startRow, int endRow)
throws Exception
{
if(valueMap == null) valueMap = Collections.EMPTY_MAP;
is_enum은 is_enum의 타입인수가 enum으로 명시된 타입이면 integral_constant, 즉 true_type을 상속받고, 그 타입인수가 enum으로 명시된 타입 아니면, integral_constant, 즉 false_type을 상속받습니다. 그리고 이 is_enum의 원형이 헤더에 다음과 같이 정의돼 있습니다.
template<typename _Tp>
struct is_enum: public integral_constant<bool, __is_enum(_Tp)>{ };
그렇다면 __is_enum(_Tp)라는 것이 true 또는 false라는 값으로 대체된다고 추론할 수 있습니다. 그리고 __is_enum이라는 것도 구조체일겁니다. 그렇다면 다음과 같은 식으로 정의돼 있겠죠.