23 #ifndef _GR_VMCIRCBUF_H_
24 #define _GR_VMCIRCBUF_H_
62 virtual const char *
name ()
const = 0;
67 virtual int granularity () = 0;
98 static std::vector<gr_vmcircbuf_factory *> all_factories ();
118 static bool test_all_factories (
int verbose);
gr_vmcircbuf(int size)
Definition: gr_vmcircbuf.h:39
Definition: gr_vmcircbuf.h:80
static gr_vmcircbuf * make(int size)
Definition: gr_vmcircbuf.h:93
#define GR_CORE_API
Definition: gr_core_api.h:30
int d_size
Definition: gr_vmcircbuf.h:35
void * pointer_to_second_copy() const
Definition: gr_vmcircbuf.h:46
gr_vmcircbuf_factory()
Definition: gr_vmcircbuf.h:54
virtual gr_vmcircbuf * make(int size)=0
return a gr_vmcircbuf, or 0 if unable.
VOLK_API $kern pname $kern name
A function pointer to the dispatcher implementation.
virtual int granularity()=0
return granularity of mapping, typically equal to page size
abstract class to implement doubly mapped virtual memory circular buffers
Definition: gr_vmcircbuf.h:33
static int granularity()
Definition: gr_vmcircbuf.h:92
void * pointer_to_first_copy() const
Definition: gr_vmcircbuf.h:45
abstract factory for creating circular buffers
Definition: gr_vmcircbuf.h:52
char * d_base
Definition: gr_vmcircbuf.h:36