28 #ifndef YSL_INC_Adaptor_ycont_h_
29 #define YSL_INC_Adaptor_ycont_h_ 1
38 #ifdef YSL_USE_FLEX_STRING
39 # include <loki/flex/flex_string_shell.h>
50 # include <loki/flex/allocatorstringstorage.h>
51 # include <loki/flex/smallstringopt.h>
52 # ifdef YSL_USE_COPY_ON_WRITE
53 # include <loki/flex/cowstringopt.h>
66 #include <forward_list>
69 #ifdef YSL_USE_YASLI_VECTOR
70 # include <loki/yasli/yasli_vector.h>
78 #include <unordered_set>
79 #include <unordered_map>
86 using std::forward_as_tuple;
90 using std::make_tuple;
99 using std::forward_list;
101 #ifdef YSL_USE_YASLI_VECTOR
112 using std::unordered_map;
113 using std::unordered_set;
116 using std::priority_queue;
119 #ifdef YSL_USE_FLEX_STRING
121 template<
typename _tChar,
122 class _tCharTrait = std::char_traits<_tChar>,
123 class _tAlloc = std::allocator<_tChar>,
125 # if YSL_OPT_SMALL_STRING_LENGTH > 0
128 # ifdef YSL_USE_COPY_ON_WRITE
131 AllocatorStringStorage<_tChar, _tAlloc>
132 # ifdef YSL_USE_COPY_ON_WRITE
135 # if YSL_OPT_SMALL_STRING_LENGTH > 0
140 struct GSStringTemplate
142 typedef flex_string<_tChar, _tCharTrait, _tAlloc, _tStorage> basic_string;
147 template<
typename _tChar>