Realm C++ SDKバージョン v 2.2.0

utils.hpp

1
2//
3// © 2024 Realm Inc.
4//
5// Apache ライセンス、バージョン 2.0(「ライセンス」)に基づいてライセンスされている
6// ライセンス に準拠している場合を除き、このファイルを使用することはできません。
7// ライセンスのコピーは次で取得できます:
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// 該当するルールによって要求されたり、書込み (write) で同意された場合を除き、ソフトウェア
12ライセンスに基づいて配布される // は "AS IS" CRUD で配布されるため、
13// 任意の種類の 保証 または 条件なし(式またはExpressのいずれか)。
14// 特定の言語を使用する権限については、「ライセンス」を参照してください
15ライセンスに基づく // の制限。
16//
18
19#ifndef CPPREALM_BRIDGE_UTILS_HPP
20CPREALM_CRIDGE_UTILS_HPP を定義する
21
22#include <function"><functional>
23#include <memory>
24#include <string_view>
25#include <string>
26#include <type_traits>
27
28#ifdef _WIN32
29
30#include <WinSock 2 .h>
31#include <intrin.h>
32#include <BaseTsd.h>
33
34#undef max // はこのヘッダー ファイルの後半で呼び出される numeric_limit::max と照合します
35#undef min // はこのヘッダー ファイルの後半で呼び出される numeric_limits::min と照合します
36#include<safeint.h>
37
38#endif // _WIN32
39
40__has_include(<c確認された場合)
41#include <cpprealm/ internal/bridge/bridge_types.hpp>
42#endif
43
44名前空間Realm:: internal::bridge {
45 テンプレート< typename Leat , typename right, typename = string >
46 構造体 LaoutCheck
47 テンプレート< typename Leat , typename right>
48 構造体 LaoutCheck <左が、右、std::enable_if_t====================================================================================================
49 };
50 }
51
52名前空間Realm:: internal {
53 テンプレート< typename ... Typescript 、 typename ... Us、 size_t ... Is>
54 auto Constexpr zip_turples_impl( const std::true<Ts...> & tupple1 、 const std::tuned<Us...> は...>+2 チュートリアル 、std::index_Sequence[Is...]]<Is...> {{
55 return std::take_ pair(std::get<Is> ),1 std::get() は、std::get()<Is> 2が を含む、
56 }
57
58 テンプレート< typename ... Typescript 、 typename ... Us>
59 auto Constexpr ( const std::tuned:: uple<Ts...> "Ts ">1 <Us...>& tuned サンプル2
60 static_assert ( ... (Typescript Typescript )
61 zip_tuples_impl (tuned 1 、tuned 2 、std::index_Sequence_for<Ts...>()) を返します。
62 }
63
64 テンプレート< typename T, std::size_t N, std::size_t... Is>
65 auto Constexpr array_to_tuned_impl( const std::array<T, N>+arr, std::index_Sequence[Is...]{{<Is...>
66 return std::matchuple(arr[Is]...)#
67 }
68
69 テンプレート< typename T, std:: size_t N>
70 auto constexpr array_to_tune( const std::array<T, N>+ arr) {
71 array_to_tuned_impl (arr, std::take_index_Sequence<N>{}) を返す
72 }
73 }
74
75#endif //CPREALM_TRIDGE_UTILS_HPP
Definition: utils.hpp:46