HemiStereo SDK
The C++ Software Development Kit for the HemiStereo 3D sensing device.
buffer.h
1
#ifndef OSP_TYPES_BUFFER_H
2
#define OSP_TYPES_BUFFER_H
3
4
#include <memory>
5
6
namespace
osp
{
7
8
template
<
typename
T>
9
class
Buffer
10
{
11
public
:
12
Buffer
();
13
explicit
Buffer
(
size_t
size);
14
Buffer
(
size_t
size, T *data);
15
virtual
~
Buffer
();
16
Buffer
(
const
Buffer<T>
& other);
17
Buffer
(
Buffer<T>
&& other);
18
19
Buffer<T>
& operator =(
Buffer<T>
other);
20
T & operator [](
const
size_t
idx);
21
bool
empty()
const
;
22
void
swap(
Buffer<T>
& other) noexcept;
23
24
T *data()
const
;
25
size_t
size()
const
;
26
27
void
allocate(
size_t
size);
28
void
release();
29
30
Buffer<T>
clone()
const
;
31
32
private
:
33
size_t
m_size;
34
std::shared_ptr<T> m_data;
35
T* m_dataPtr;
36
};
37
38
}
39
40
#include <osp/types/details/buffer.h>
41
42
#endif
osp
The osp namespace.
Definition:
buffer.h:6
osp::Buffer
Definition:
buffer.h:9
types
include
osp
types
buffer.h
Generated by
1.8.13