28 #ifndef YSL_INC_Adaptor_ycont_h_
29 #define YSL_INC_Adaptor_ycont_h_ 1
33 #include YFM_YSLib_Adaptor_YAdaptor
36 #include YFM_CHRLib_CHRDefinition
40 #ifdef YSL_USE_FLEX_STRING
41 # include <loki/flex/flex_string_shell.h>
53 # include <loki/flex/allocatorstringstorage.h>
54 # include <loki/flex/smallstringopt.h>
55 # ifdef YSL_USE_COPY_ON_WRITE
56 # include <loki/flex/cowstringopt.h>
70 #include <forward_list>
73 #ifdef YSL_USE_YASLI_VECTOR
74 # include <loki/yasli/yasli_vector.h>
82 #include <unordered_set>
83 #include <unordered_map>
91 using std::forward_as_tuple;
95 using std::make_tuple;
104 using std::forward_list;
106 #ifdef YSL_USE_YASLI_VECTOR
117 using std::unordered_map;
119 using std::unordered_multimap;
121 using std::unordered_multiset;
122 using std::unordered_set;
125 using std::priority_queue;
128 #ifdef YSL_USE_FLEX_STRING
130 template<
typename _tChar,
131 class _tCharTrait = std::char_traits<_tChar>,
132 class _tAlloc = std::allocator<_tChar>,
134 # if YSL_OPT_SMALL_STRING_LENGTH > 0
137 # ifdef YSL_USE_COPY_ON_WRITE
140 AllocatorStringStorage<_tChar, _tAlloc>
141 # ifdef YSL_USE_COPY_ON_WRITE
144 # if YSL_OPT_SMALL_STRING_LENGTH > 0
149 struct GSStringTemplate
151 using basic_string = flex_string<_tChar, _tCharTrait, _tAlloc, _tStorage>;
156 template<
typename _tChar>
GSStringTemplate< CHRLib::ucs4_t >::basic_string ucs4string
#define YSL_OPT_SMALL_STRING_LENGTH
使用小字符串优化。
GSStringTemplate< CHRLib::ucs2_t >::basic_string ucs2string
std::basic_string< _tChar > basic_string