diff options
Diffstat (limited to 'gnuradio-runtime/lib/vmcircbuf.h')
-rw-r--r-- | gnuradio-runtime/lib/vmcircbuf.h | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/gnuradio-runtime/lib/vmcircbuf.h b/gnuradio-runtime/lib/vmcircbuf.h index f9ed045168..5f3aade585 100644 --- a/gnuradio-runtime/lib/vmcircbuf.h +++ b/gnuradio-runtime/lib/vmcircbuf.h @@ -31,42 +31,41 @@ extern gr::thread::mutex s_vm_mutex; namespace gr { - /*! - * \brief abstract class to implement doubly mapped virtual memory circular buffers - * \ingroup internal - */ - class GR_RUNTIME_API vmcircbuf - { - protected: +/*! + * \brief abstract class to implement doubly mapped virtual memory circular buffers + * \ingroup internal + */ +class GR_RUNTIME_API vmcircbuf +{ +protected: int d_size; - char *d_base; + char* d_base; // CREATORS - vmcircbuf(int size) : d_size(size), d_base(0) {}; + vmcircbuf(int size) : d_size(size), d_base(0){}; - public: +public: virtual ~vmcircbuf(); // ACCESSORS - void *pointer_to_first_copy() const{ return d_base; } - void *pointer_to_second_copy() const{ return d_base + d_size; } - }; - - /*! - * \brief abstract factory for creating circular buffers - */ - class GR_RUNTIME_API vmcircbuf_factory - { - protected: - vmcircbuf_factory() {}; - virtual ~vmcircbuf_factory(); + void* pointer_to_first_copy() const { return d_base; } + void* pointer_to_second_copy() const { return d_base + d_size; } +}; - public: +/*! + * \brief abstract factory for creating circular buffers + */ +class GR_RUNTIME_API vmcircbuf_factory +{ +protected: + vmcircbuf_factory(){}; + virtual ~vmcircbuf_factory(); +public: /*! * \brief return name of this factory */ - virtual const char *name() const = 0; + virtual const char* name() const = 0; /*! * \brief return granularity of mapping, typically equal to page size @@ -78,32 +77,32 @@ namespace gr { * * Call this to create a doubly mapped circular buffer. */ - virtual vmcircbuf *make(int size) = 0; - }; - - /* - * \brief pulls together all implementations of gr::vmcircbuf - */ - class GR_RUNTIME_API vmcircbuf_sysconfig - { - public: + virtual vmcircbuf* make(int size) = 0; +}; + +/* + * \brief pulls together all implementations of gr::vmcircbuf + */ +class GR_RUNTIME_API vmcircbuf_sysconfig +{ +public: /* * \brief return the single instance of the default factory. * * returns the default factory to use if it's already defined, * else find the first working factory and use it. */ - static vmcircbuf_factory *get_default_factory(); + static vmcircbuf_factory* get_default_factory(); - static int granularity() { return get_default_factory()->granularity(); } - static vmcircbuf *make(int size) { return get_default_factory()->make(size); } + static int granularity() { return get_default_factory()->granularity(); } + static vmcircbuf* make(int size) { return get_default_factory()->make(size); } // N.B. not all factories are guaranteed to work. // It's too hard to check everything at config time, so we check at runtime static std::vector<vmcircbuf_factory*> all_factories(); // make this factory the default - static void set_default_factory(vmcircbuf_factory *f); + static void set_default_factory(vmcircbuf_factory* f); /*! * \brief Does this factory really work? @@ -112,7 +111,7 @@ namespace gr { * verbose = 1: names of factories tested and results * verbose = 2: all intermediate results */ - static bool test_factory(vmcircbuf_factory *f, int verbose); + static bool test_factory(vmcircbuf_factory* f, int verbose); /*! * \brief Test all factories, return true if at least one of them works @@ -121,7 +120,7 @@ namespace gr { * verbose = 2: all intermediate results */ static bool test_all_factories(int verbose); - }; +}; } /* namespace gr */ |