15 #ifndef RAPIDJSON_INTERNAL_SWAP_H_    16 #define RAPIDJSON_INTERNAL_SWAP_H_    18 #include "../rapidjson.h"    20 #if defined(__clang__)    22 RAPIDJSON_DIAG_OFF(c++98-compat)
    33 inline void Swap(
T& 
a, 
T& b) RAPIDJSON_NOEXCEPT {
    42 #if defined(__clang__)    46 #endif // RAPIDJSON_INTERNAL_SWAP_H_ #define RAPIDJSON_NAMESPACE_END
provide custom rapidjson namespace (closing expression) 
#define RAPIDJSON_NAMESPACE_BEGIN
provide custom rapidjson namespace (opening expression) 
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header. 
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a