[#BloombergLP-bslmt-ThroughputBenchmarkResult-2constructor-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmt.adoc[bslmt]::xref:BloombergLP/bslmt/ThroughputBenchmarkResult.adoc[ThroughputBenchmarkResult]::ThroughputBenchmarkResult :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<bslmt_throughputbenchmarkresult.h>` Create a `ThroughputBenchmarkResult` object having the same value and the same allocator as the specified `original` object. The value of `original` becomes unspecified but valid, and its allocator remains unchanged. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-07.adoc[ThroughputBenchmarkResult](xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<ThroughputBenchmarkResult>] original) noexcept; ---- [.small]#xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-07.adoc[_» more..._]# Create an empty `ThroughputBenchmarkResult` object. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. Note that this object has to be initialized before it can be used. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-03.adoc[ThroughputBenchmarkResult](xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-03.adoc[_» more..._]# Create a `ThroughputBenchmarkResult` object having the same value as the specified `original` object, using the specified `basicAllocator` to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. The allocator of `original` remains unchanged. If `original` and the newly created object have the same allocator then the value of `original` becomes unspecified but valid, and no exceptions will be thrown; otherwise `original` is unchanged (and an exception may be thrown). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0a.adoc[ThroughputBenchmarkResult]( xref:BloombergLP/bslmf/MovableRef.adoc[bslmf::MovableRef<ThroughputBenchmarkResult>] original, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator); ---- [.small]#xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0a.adoc[_» more..._]# Create a `ThroughputBenchmarkResult` object having the value of the specified `original`. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0e.adoc[ThroughputBenchmarkResult]( xref:BloombergLP/bslmt/ThroughputBenchmarkResult.adoc[ThroughputBenchmarkResult] const& original, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0e.adoc[_» more..._]# Create a `ThroughputBenchmarkResult` object with the specified `numSamples` the number of samples in the benchmark, and the specified `threadGroupSizes`, the number of threads in each of the thread groups. Optionally specify a `basicAllocator` used to supply memory. If `basicAllocator` is 0, the currently installed default allocator is used. The behavior is undefined unless `0 < numSamples`, `0 < threadGroupSizes.size()`, and `0 < threadGroupSizes[N]` for all valid `N`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0d.adoc[ThroughputBenchmarkResult]( int numSamples, xref:bsl/vector-00d.adoc[bsl::vector<int>] const& threadGroupSizes, xref:BloombergLP/bslma/Allocator.adoc[bslma::Allocator]* basicAllocator = 0); ---- [.small]#xref:BloombergLP/bslmt/ThroughputBenchmarkResult/2constructor-0d.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#