diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-16 23:30:28 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-16 23:30:28 -0400 |
commit | c5115c9a3c8ce6639f37e0b429e0498bb522d913 (patch) | |
tree | 667e48ff6ec80f274c7eafda4e44dceaaaeb342b /libs/pbd/pbd/pool.h | |
parent | cb3abec9665b7a69702294e5a6ffdd26f54885c3 (diff) |
add export visibility control to libpbd (works thus far on linux/gcc)
Diffstat (limited to 'libs/pbd/pbd/pool.h')
-rw-r--r-- | libs/pbd/pbd/pool.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/pbd/pbd/pool.h b/libs/pbd/pbd/pool.h index 58c5861d23..165a3aac4b 100644 --- a/libs/pbd/pbd/pool.h +++ b/libs/pbd/pbd/pool.h @@ -25,12 +25,13 @@ #include <glibmm/threads.h> +#include "pbd/libpbd_visibility.h" #include "pbd/ringbuffer.h" /** A pool of data items that can be allocated, read from and written to * without system memory allocation or locking. */ -class Pool +class LIBPBD_API Pool { public: Pool (std::string name, unsigned long item_size, unsigned long nitems); @@ -49,7 +50,7 @@ class Pool void *block; ///< data storage area }; -class SingleAllocMultiReleasePool : public Pool +class LIBPBD_API SingleAllocMultiReleasePool : public Pool { public: SingleAllocMultiReleasePool (std::string name, unsigned long item_size, unsigned long nitems); @@ -63,7 +64,7 @@ class SingleAllocMultiReleasePool : public Pool }; -class MultiAllocSingleReleasePool : public Pool +class LIBPBD_API MultiAllocSingleReleasePool : public Pool { public: MultiAllocSingleReleasePool (std::string name, unsigned long item_size, unsigned long nitems); @@ -76,7 +77,7 @@ class MultiAllocSingleReleasePool : public Pool Glib::Threads::Mutex m_lock; }; -class PerThreadPool; +class LIBPBD_API PerThreadPool; /** Management of a per-thread pool of data that is allocated by one thread and * freed by one other thread. Not safe for use when there is more than 1 @@ -90,7 +91,7 @@ class PerThreadPool; * data), and so it calls alloc(), passes a pointer to the result of the alloc * to another thread, which later calls push() to "free" it. */ -class CrossThreadPool : public Pool +class LIBPBD_API CrossThreadPool : public Pool { public: CrossThreadPool (std::string n, unsigned long isize, unsigned long nitems, PerThreadPool *); @@ -112,7 +113,7 @@ class CrossThreadPool : public Pool /** A class to manage per-thread pools of memory. One object of this class is instantiated, * and then it is used to create per-thread pools for 1 or more threads as required. */ -class PerThreadPool +class LIBPBD_API PerThreadPool { public: PerThreadPool (); |