#ifndef REFLECTIVE_RAPIDJSON_TRAITS #define REFLECTIVE_RAPIDJSON_TRAITS #include #include #include #include #include #include namespace ReflectiveRapidJSON { // define traits to check for arrays, sets and maps template using IsMapOrHash = Traits::Any, Traits::IsSpecializationOf>; template using IsSet = Traits::Any, Traits::IsSpecializationOf>; template using IsMultiSet = Traits::Any, Traits::IsSpecializationOf>; template using IsArrayOrSet = Traits::All, Traits::Not>, Traits::Not>>; template using IsArray = Traits::All, Traits::Not>, Traits::Not>, Traits::Not>, Traits::Not>>; template using IsIteratableExceptString = Traits::All, Traits::Not>>; } // namespace ReflectiveRapidJSON #endif // REFLECTIVE_RAPIDJSON_TRAITS