USRP Hardware Driver and USRP Manual  Version: 3.11.0.HEAD-0-ga1b5c4ae
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>
12 #include <boost/utility.hpp>
13 #include <boost/shared_ptr.hpp>
14 
15 namespace uhd{ namespace transport{
16 
21  class UHD_API buffer_pool : boost::noncopyable{
22  public:
23  typedef boost::shared_ptr<buffer_pool> sptr;
24  typedef void * ptr_type;
25 
26  virtual ~buffer_pool(void) = 0;
27 
35  static sptr make(
36  const size_t num_buffs,
37  const size_t buff_size,
38  const size_t alignment = 16
39  );
40 
42  virtual ptr_type at(const size_t index) const = 0;
43 
45  virtual size_t size(void) const = 0;
46  };
47 
48 }} //namespace
49 
50 
51 #endif /* INCLUDED_UHD_TRANSPORT_BUFFER_POOL_HPP */
Definition: buffer_pool.hpp:21
Definition: build_info.hpp:14
boost::shared_ptr< buffer_pool > sptr
Definition: buffer_pool.hpp:23
#define UHD_API
Definition: config.h:63
void * ptr_type
Definition: buffer_pool.hpp:24