Loading...
Searching...
No Matches
buffer_pool.hpp
Go to the documentation of this file.
//
// Copyright 2011,2014 Ettus Research LLC
// Copyright 2018 Ettus Research, a National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
#include <uhd/config.hpp>
#include <uhd/utils/noncopyable.hpp>
#include <cstddef>
#include <memory>
namespace uhd { namespace transport {
class UHD_API buffer_pool : uhd::noncopyable
{
public:
typedef std::shared_ptr<buffer_pool> sptr;
typedef void* ptr_type;
virtual ~buffer_pool(void) = 0;
static sptr make(
const size_t num_buffs, const size_t buff_size, const size_t alignment = 16);
virtual ptr_type at(const size_t index) const = 0;
virtual size_t size(void) const = 0;
};
}} // namespace uhd::transport
uhd::transport::buffer_pool
Definition buffer_pool.hpp:22
uhd::transport::buffer_pool::make
static sptr make(const size_t num_buffs, const size_t buff_size, const size_t alignment=16)
uhd::transport::buffer_pool::~buffer_pool
virtual ~buffer_pool(void)=0
uhd::transport::buffer_pool::sptr
std::shared_ptr< buffer_pool > sptr
Definition buffer_pool.hpp:24
uhd::transport::buffer_pool::size
virtual size_t size(void) const =0
Get the number of buffers in this pool.
uhd::transport::buffer_pool::at
virtual ptr_type at(const size_t index) const =0
Get a pointer to the buffer start at the specified index.
uhd::transport::buffer_pool::ptr_type
void * ptr_type
Definition buffer_pool.hpp:25
UHD_API
#define UHD_API
Definition config.h:87
config.hpp
uhd::transport
Definition adapter_id.hpp:11
uhd
Definition build_info.hpp:12
uhd::noncopyable
boost::noncopyable noncopyable
Definition noncopyable.hpp:45
noncopyable.hpp