libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::sharable_new_delete_bucket_source< T > Class Template Referencefinal

Description

template<typename T>
class tcspc::sharable_new_delete_bucket_source< T >

Sharable bucket source using regular memory allocation.

This bucket source provides buckets whose underlying memory is allocated via new[]. Extraction of the storage is supported and results in a std::shared_ptr<T[]>.

This bucket source supports the creation of shared view buckets. Extraction of storage from shared views is also supported.

This bucket source is thread-safe: buckets (or their storage) may be created and destroyed on multiple threads simultaneously. (Access to an individual bucket is not thread-safe.)

Inherits tcspc::bucket_source< T >.

Public Member Functions

auto bucket_of_size (std::size_t size) -> bucket< T > override
 Implements bucket source requirement.
auto shared_view_of (bucket< T > const &bkt) -> bucket< T const > override
 Implements sharable bucket source requirement.
auto supports_shared_views () const noexcept -> bool override
 Implements sharable bucket source requirement.

Static Public Member Functions

static auto create () -> std::shared_ptr< bucket_source< T > >
 Create an instance.

Member Function Documentation

◆ bucket_of_size()

template<typename T>
auto tcspc::sharable_new_delete_bucket_source< T >::bucket_of_size ( std::size_t size) -> bucket< T >
inlineoverridevirtual

Implements bucket source requirement.

Implements tcspc::bucket_source< T >.

◆ shared_view_of()

template<typename T>
auto tcspc::sharable_new_delete_bucket_source< T >::shared_view_of ( bucket< T > const & bkt) -> bucket< T const >
inlinenodiscardoverridevirtual

Implements sharable bucket source requirement.

Reimplemented from tcspc::bucket_source< T >.

◆ supports_shared_views()

template<typename T>
auto tcspc::sharable_new_delete_bucket_source< T >::supports_shared_views ( ) const -> bool
inlinenodiscardoverridevirtualnoexcept

Implements sharable bucket source requirement.

Reimplemented from tcspc::bucket_source< T >.


The documentation for this class was generated from the following file: