[#BloombergLP-bdld-Datum-createStringRef-0e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdld.adoc[bdld]::xref:BloombergLP/bdld/Datum.adoc[Datum]::createStringRef
:relfileprefix: ../../../
:mrdocs:

Return a datum referring to the specified string without copying it&period;

== Synopsis

Declared in `&lt;bdld&lowbar;datum&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
xref:BloombergLP/bdld/Datum.adoc[Datum]
createStringRef(
    char const* string,
    xref:BloombergLP/bdld/Datum/SizeType.adoc[SizeType] length,
    xref:BloombergLP/bdld/Datum/AllocatorType.adoc[AllocatorType] const& allocator);
----

== Description

Return, by value, a datum that refers to the specified `string` having the specified `length`, using the specified `allocator` to supply memory (if needed)&period; The behavior is undefined unless &grave;0 !&equals; string &verbar;&verbar; 0 &equals;&equals; length`&period; The behavior is also undefined unless `length &lt;&equals; UINT&lowbar;MAX&grave;&period; Note that `string` is not copied, and is not freed if `Datum&colon;&colon;destroy` is called on the returned object&period;

== Return Value

a datum referring to the specified string without copying it

== Parameters

[cols="1,4"]
|===
| Name| Description
| *string*
| UTF&hyphen;8 string to reference
| *length*
| length of `string` in bytes
| *allocator*
| memory allocator to use
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
