template struct pair { int first; _T2 second; template constexpr pair(pair<_U1, _U2> __p) : first(), second(__p.second) {} template constexpr pair(_U1, _U2 __y) : first(), second(__y) {} }; struct less {}; template struct integer_sequence {}; template using make_integer_sequence = integer_sequence<_Tp, __integer_pack(_Num)...>; template using index_sequence = integer_sequence; template using make_index_sequence = make_integer_sequence; template struct array { _Tp _M_elems; }; class BasicStringPiece { public: constexpr BasicStringPiece(const char *str) : ptr_(str), length_() {} const char *ptr_; long length_; }; struct sorted_unique_t { } sorted_unique; template constexpr array> ToArrayImpl(T (&data)[N], index_sequence) { return {data[I]...}; } template constexpr array> ToArray(T (&data)[N]) { return ToArrayImpl(data, make_index_sequence()); } template class flat_tree { public: using key_compare = less; using container_type = array>; constexpr flat_tree(sorted_unique_t, container_type &&); container_type body_; [[no_unique_address]] key_compare comp_; }; template constexpr flat_tree::flat_tree(sorted_unique_t, container_type &&items) : body_(items), comp_() {} class flat_map : flat_tree { using tree = flat_tree; tree::tree; }; template using fixed_flat_map = flat_map; template constexpr fixed_flat_map MakeFixedFlatMap(pair(&&data)[N]) { using FixedFlatMap = fixed_flat_map; return FixedFlatMap(sorted_unique, ToArray(data)); } void Get() { static auto kSchemas = MakeFixedFlatMap({{"", ""}}); }