Cbeam
Loading...
Searching...
No Matches
shared_array.hpp
Go to the documentation of this file.
1/*
2Copyright (c) 2025 acrion innovations GmbH
3Authors: Stefan Zipproth, s.zipproth@acrion.ch
4
5This file is part of Cbeam, see https://github.com/acrion/cbeam and https://cbeam.org
6
7Cbeam is offered under a commercial and under the AGPL license.
8For commercial licensing, contact us at https://acrion.ch/sales. For AGPL licensing, see below.
9
10AGPL licensing:
11
12Cbeam is free software: you can redistribute it and/or modify
13it under the terms of the GNU Affero General Public License as published by
14the Free Software Foundation, either version 3 of the License, or
15(at your option) any later version.
16
17Cbeam is distributed in the hope that it will be useful,
18but WITHOUT ANY WARRANTY; without even the implied warranty of
19MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20GNU Affero General Public License for more details.
21
22You should have received a copy of the GNU Affero General Public License
23along with Cbeam. If not, see <https://www.gnu.org/licenses/>.
24*/
25
26#pragma once
27
28#include <memory> // for std::shared_ptr
29#include <stddef.h> // for size_t
30
31namespace cbeam::container
32{
43 template <typename T>
44 inline std::shared_ptr<T> make_shared_array(const size_t size)
45 {
46 return std::shared_ptr<T>(new T[size], [](const T* p)
47 { delete[] p; });
48 }
49}
Offers advanced container types with unique approaches to stability and interprocess sharing....
Definition buffer.hpp:44
std::shared_ptr< T > make_shared_array(const size_t size)
Creates a std::shared_ptr that manages a dynamically allocated array of size size.
Definition shared_array.hpp:44