76struct T_CharArray<std::basic_string_view<TChar>, TChar, typename std::enable_if<
77 TT_IsChar<TChar>::value >::type >
79 #if !defined(ALIB_DOX)
80 static constexpr AccessType Access = AccessType::Implicit;
82 static const TChar* Buffer (std::basic_string_view<TChar>
const & src) {
return src.data () ; }
83 static integer Length (std::basic_string_view<TChar>
const & src) {
return static_cast<integer>( src.length() ); }
84 static std::basic_string_view<TChar> Construct(
const TChar* array,
integer length ) {
return std::basic_string_view<TChar>( array,
static_cast<size_t>(length) ); }
100struct T_ZTCharArray<std::basic_string_view<TChar>, TChar, typename std::enable_if<
101 TT_IsChar<TChar>::value >::type >
103 #if !defined(ALIB_DOX)
104 static constexpr AccessType Access = AccessType::ExplicitOnly;
105 static constexpr ConstructionType Construction = ConstructionType::Implicit;
106 static const TChar* Buffer (std::basic_string_view<TChar>
const & src ) {
return src.data () ; }
107 static integer Length (std::basic_string_view<TChar>
const & src ) {
return static_cast<integer>( src.length() ); }
108 static std::basic_string_view<TChar> Construct(
const TChar* array,
integer length ) {
return std::basic_string_view<TChar>( array,
static_cast<size_t>(length) ); }
127struct T_CharArray<std::basic_string<TChar>, TChar, typename std::enable_if<
128 TT_IsChar<TChar>::value >::type >
130 #if !defined(ALIB_DOX)
131 static constexpr AccessType Access = AccessType::Implicit;
132 static constexpr ConstructionType Construction = ConstructionType::ExplicitOnly;
133 static const TChar* Buffer ( std::basic_string<TChar>
const & src ) {
return src.data () ; }
134 static integer Length ( std::basic_string<TChar>
const & src ) {
return static_cast<integer>( src.length() ); }
135 static std::basic_string<TChar> Construct(
const TChar* array,
integer length ) {
return std::basic_string<TChar>( array,
static_cast<size_t>(length) ); }
171struct T_ZTCharArray<std::basic_string<TChar>, TChar, typename std::enable_if<
172 TT_IsChar<TChar>::value >::type >
174 #if !defined(ALIB_DOX)
175 static constexpr AccessType Access = AccessType::Implicit;
176 static constexpr ConstructionType Construction = ConstructionType::ExplicitOnly;
177 static const TChar* Buffer ( std::basic_string<TChar>
const & src ) {
return src.data () ; }
178 static integer Length ( std::basic_string<TChar>
const & src ) {
return static_cast<integer>( src.length() ); }
179 static std::basic_string<TChar> Construct(
const TChar* array,
integer length ) {
return std::basic_string<TChar>( array,
static_cast<size_t>(length) ); }
196struct T_CharArray<std::vector<TChar>, TChar, typename std::enable_if<
197 TT_IsChar<TChar>::value >::type >
199 #if !defined(ALIB_DOX)
200 static constexpr AccessType Access = AccessType::Implicit;
201 static constexpr ConstructionType Construction = ConstructionType::ExplicitOnly;
202 static const TChar* Buffer (std::vector<TChar>
const & src) {
return src.data() ; }
203 static integer Length (std::vector<TChar>
const & src) {
return static_cast<integer>( src.size() ); }
205 static std::vector<TChar> Construct(
const TChar* array,
integer length )
207 std::vector<TChar> result;
208 result.reserve(
static_cast<size_t>(length) );
209 const TChar* end= array + length;
211 result.push_back( *array++ );
233 TT_IsChar<TChar>::value >::type >
235 #if !defined(ALIB_DOX)
236 static constexpr AccessType Access = AccessType::Implicit;
237 static constexpr ConstructionType Construction = ConstructionType::ExplicitOnly;
238 static const TChar* Buffer (std::vector<TChar>
const & src) {
return src.data() ; }
239 static integer Length (std::vector<TChar>
const & src) {
return static_cast<integer>( src.size() ); }
240 static std::vector<TChar> Construct(
const TChar* array,
integer length )
242 std::vector<TChar> result;
243 result.reserve(
static_cast<size_t>(length) );
244 const TChar* end= array + length;
246 result.push_back( *array++ );