git repos / blockattack-game

blame: source/code/Libs/include/cereal/external/rapidjson/internal/swap.h

normal view · raw

6c5f2c01 sago007 2017-03-15 17:56 1
// Tencent is pleased to support the open source community by making RapidJSON available.
6c5f2c01 sago007 2017-03-15 17:56 2
//
6c5f2c01 sago007 2017-03-15 17:56 3
// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
6c5f2c01 sago007 2017-03-15 17:56 4
//
6c5f2c01 sago007 2017-03-15 17:56 5
// Licensed under the MIT License (the "License"); you may not use this file except
6c5f2c01 sago007 2017-03-15 17:56 6
// in compliance with the License. You may obtain a copy of the License at
6c5f2c01 sago007 2017-03-15 17:56 7
//
6c5f2c01 sago007 2017-03-15 17:56 8
// http://opensource.org/licenses/MIT
6c5f2c01 sago007 2017-03-15 17:56 9
//
6c5f2c01 sago007 2017-03-15 17:56 10
// Unless required by applicable law or agreed to in writing, software distributed
6c5f2c01 sago007 2017-03-15 17:56 11
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
6c5f2c01 sago007 2017-03-15 17:56 12
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
6c5f2c01 sago007 2017-03-15 17:56 13
// specific language governing permissions and limitations under the License.
6c5f2c01 sago007 2017-03-15 17:56 14
6c5f2c01 sago007 2017-03-15 17:56 15
#ifndef CEREAL_RAPIDJSON_INTERNAL_SWAP_H_
6c5f2c01 sago007 2017-03-15 17:56 16
#define CEREAL_RAPIDJSON_INTERNAL_SWAP_H_
6c5f2c01 sago007 2017-03-15 17:56 17
6c5f2c01 sago007 2017-03-15 17:56 18
#include "../rapidjson.h"
6c5f2c01 sago007 2017-03-15 17:56 19
6c5f2c01 sago007 2017-03-15 17:56 20
#if defined(__clang__)
6c5f2c01 sago007 2017-03-15 17:56 21
CEREAL_RAPIDJSON_DIAG_PUSH
6c5f2c01 sago007 2017-03-15 17:56 22
CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat)
6c5f2c01 sago007 2017-03-15 17:56 23
#endif
6c5f2c01 sago007 2017-03-15 17:56 24
6c5f2c01 sago007 2017-03-15 17:56 25
CEREAL_RAPIDJSON_NAMESPACE_BEGIN
6c5f2c01 sago007 2017-03-15 17:56 26
namespace internal {
6c5f2c01 sago007 2017-03-15 17:56 27
6c5f2c01 sago007 2017-03-15 17:56 28
//! Custom swap() to avoid dependency on C++ <algorithm> header
6c5f2c01 sago007 2017-03-15 17:56 29
/*! \tparam T Type of the arguments to swap, should be instantiated with primitive C++ types only.
6c5f2c01 sago007 2017-03-15 17:56 30
    \note This has the same semantics as std::swap().
6c5f2c01 sago007 2017-03-15 17:56 31
*/
6c5f2c01 sago007 2017-03-15 17:56 32
template <typename T>
6c5f2c01 sago007 2017-03-15 17:56 33
inline void Swap(T& a, T& b) CEREAL_RAPIDJSON_NOEXCEPT {
6c5f2c01 sago007 2017-03-15 17:56 34
    T tmp = a;
6c5f2c01 sago007 2017-03-15 17:56 35
        a = b;
6c5f2c01 sago007 2017-03-15 17:56 36
        b = tmp;
6c5f2c01 sago007 2017-03-15 17:56 37
}
6c5f2c01 sago007 2017-03-15 17:56 38
6c5f2c01 sago007 2017-03-15 17:56 39
} // namespace internal
6c5f2c01 sago007 2017-03-15 17:56 40
CEREAL_RAPIDJSON_NAMESPACE_END
6c5f2c01 sago007 2017-03-15 17:56 41
6c5f2c01 sago007 2017-03-15 17:56 42
#if defined(__clang__)
6c5f2c01 sago007 2017-03-15 17:56 43
CEREAL_RAPIDJSON_DIAG_POP
6c5f2c01 sago007 2017-03-15 17:56 44
#endif
6c5f2c01 sago007 2017-03-15 17:56 45
6c5f2c01 sago007 2017-03-15 17:56 46
#endif // CEREAL_RAPIDJSON_INTERNAL_SWAP_H_
1970-01-01 00:00 47