Difference between revisions of "Data Overview"
m (Added info on empty and size) |
(Added info about Data::from and lowercase/uppercase) |
||
Line 7: | Line 7: | ||
Data is internally aware of its content length and is not guaranteed | Data is internally aware of its content length and is not guaranteed | ||
− | to be null terminated. | + | to be null terminated. Data::data() returns a raw pointer of type const char* |
− | memory. Data::c_str() also returns a raw pointer to internal memory, | + | to internal memory. Data::c_str() also returns a raw pointer of type const char* |
− | but will guarantee that the internal buffer is null terminated, by | + | to internal memory, but will guarantee that the internal buffer is null terminated, by |
copying it if necessary. | copying it if necessary. | ||
+ | c_str() is generally necessary only when transitioning to another string representation, like char* or std::string. | ||
− | + | Data::empty() returns true if the Data is empty, and false otherwise. Data::size() returns a size_type with the length of the data. | |
− | Data:: | + | Data::lowercase() and Data::uppercase() convert the Data in place (modifies the object they are called on) to be be either all lower or all upper case. These calls also return a reference to the modified Data object. |
+ | |||
+ | Data::from() is a static function that can be used to create a Data from any object | ||
+ | that defines the operator<<. | ||
+ | For example, one can convert from a resiprocate URI to a data using: | ||
+ | |||
+ | Uri uri; | ||
+ | Data result = Data::from(uri); | ||
+ | |||
+ | Use this same technique to create a Data from any type defining operator<<. |
Latest revision as of 14:06, 3 June 2005
Data is resiprocate's string class. It is named Data rather than String for historical reasons. VOCAL had a reference counting version of Data. Resiprocate's version is not reference counting.
Data handles 8 bit character buffers.
Data is internally aware of its content length and is not guaranteed to be null terminated. Data::data() returns a raw pointer of type const char* to internal memory. Data::c_str() also returns a raw pointer of type const char* to internal memory, but will guarantee that the internal buffer is null terminated, by copying it if necessary. c_str() is generally necessary only when transitioning to another string representation, like char* or std::string.
Data::empty() returns true if the Data is empty, and false otherwise. Data::size() returns a size_type with the length of the data.
Data::lowercase() and Data::uppercase() convert the Data in place (modifies the object they are called on) to be be either all lower or all upper case. These calls also return a reference to the modified Data object.
Data::from() is a static function that can be used to create a Data from any object that defines the operator<<. For example, one can convert from a resiprocate URI to a data using:
Uri uri; Data result = Data::from(uri);
Use this same technique to create a Data from any type defining operator<<.