USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
buffer_pool.hpp
Go to the documentation of this file.
1//
2// Copyright 2011,2014 Ettus Research LLC
3// Copyright 2018 Ettus Research, a National Instruments Company
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
7
8#ifndef INCLUDED_UHD_TRANSPORT_BUFFER_POOL_HPP
9#define INCLUDED_UHD_TRANSPORT_BUFFER_POOL_HPP
10
11#include <uhd/config.hpp>
13#include <boost/shared_ptr.hpp>
14
15namespace uhd { namespace transport {
16
22{
23public:
24 typedef boost::shared_ptr<buffer_pool> sptr;
25 typedef void* ptr_type;
26
27 virtual ~buffer_pool(void) = 0;
28
36 static sptr make(
37 const size_t num_buffs, const size_t buff_size, const size_t alignment = 16);
38
40 virtual ptr_type at(const size_t index) const = 0;
41
43 virtual size_t size(void) const = 0;
44};
45
46}} // namespace uhd::transport
47
48
49#endif /* INCLUDED_UHD_TRANSPORT_BUFFER_POOL_HPP */
Definition: buffer_pool.hpp:22
static sptr make(const size_t num_buffs, const size_t buff_size, const size_t alignment=16)
virtual ~buffer_pool(void)=0
virtual size_t size(void) const =0
Get the number of buffers in this pool.
boost::shared_ptr< buffer_pool > sptr
Definition: buffer_pool.hpp:24
virtual ptr_type at(const size_t index) const =0
Get a pointer to the buffer start at the specified index.
void * ptr_type
Definition: buffer_pool.hpp:25
#define UHD_API
Definition: config.h:68
Definition: build_info.hpp:13
boost::noncopyable noncopyable
Definition: noncopyable.hpp:46