43 template<
typename CharT>
96 return BufferType{
const_cast<char*
>(data.c_str())};
101 data =
DataType(buffer[0],std::strlen(buffer[0]));
114 std::transform(data.begin(),data.end(),std::back_inserter(buffer),
115 [](
const std::string &str)
117 return const_cast<char*
>(str.c_str());
124 std::transform(buffer.begin(),buffer.end(),data.begin(),
127 return std::string(
ptr,std::strlen(
ptr));
static BufferType to_buffer(const T &)
create buffer with write data
Definition: variable_length_string.hpp:68
VarLengthStringBuffer< char > BufferType
Definition: variable_length_string.hpp:55
static void from_buffer(const BufferType &buffer, DataType &data)
Definition: variable_length_string.hpp:99
VarLengthStringBuffer< char > BufferType
Definition: variable_length_string.hpp:108
std::vector< CharT * > VarLengthStringBuffer
buffer for variable length string data
Definition: variable_length_string.hpp:44
Definition: attribute.hpp:43
std::vector< std::string > DataType
Definition: variable_length_string.hpp:109
std::string DataType
Definition: variable_length_string.hpp:91
static BufferType to_buffer(const DataType &data)
Definition: variable_length_string.hpp:111
static BufferType to_buffer(const DataType &data)
Definition: variable_length_string.hpp:94
void * ptr(T &value)
Definition: type_trait.hpp:120
VarLengthStringBuffer< char > BufferType
Definition: variable_length_string.hpp:90
T DataType
Definition: variable_length_string.hpp:56
static void from_buffer(const BufferType &, DataType &)
copy data to output
Definition: variable_length_string.hpp:83
variable length string buffer trait
Definition: variable_length_string.hpp:53
static void from_buffer(const BufferType &buffer, DataType &data)
Definition: variable_length_string.hpp:122