From d762be4f735ef69345fb4e221d6c53e3282810b8 Mon Sep 17 00:00:00 2001 From: Sakari Bergen Date: Mon, 2 Jul 2012 15:48:29 +0000 Subject: [PATCH] Fix the ProcessContext copy-ctor stuff for older compilers, which don't support template base class initialization without template parameters git-svn-id: svn://localhost/ardour2/branches/3.0@12983 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/audiographer/audiographer/process_context.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libs/audiographer/audiographer/process_context.h b/libs/audiographer/audiographer/process_context.h index 576177ee14..15128ab4ea 100644 --- a/libs/audiographer/audiographer/process_context.h +++ b/libs/audiographer/audiographer/process_context.h @@ -15,6 +15,7 @@ namespace AudioGrapher { + /** * Processing context. Constness only applies to data, not flags */ @@ -23,6 +24,9 @@ template class ProcessContext : public Throwing<> { + // Support older compilers that don't support template base class initialization without template parameters + // This will need to be modified if if it's modified above + static const ThrowLevel throwLevel = DEFAULT_THROW_LEVEL; BOOST_STATIC_ASSERT (boost::has_trivial_destructor::value); @@ -43,25 +47,25 @@ public: /// Normal copy constructor ProcessContext (ProcessContext const & other) - : Throwing(), _data (other._data), _frames (other._frames), _channels (other._channels), _flags (other._flags) + : Throwing(), _data (other._data), _frames (other._frames), _channels (other._channels), _flags (other._flags) { /* No need to validate data */ } /// "Copy constructor" with unique data, frame and channel count, but copies flags template ProcessContext (ProcessContext const & other, T * data, framecnt_t frames, ChannelCount channels) - : Throwing(), _data (data), _frames (frames), _channels (channels), _flags (other.flags()) + : Throwing(), _data (data), _frames (frames), _channels (channels), _flags (other.flags()) { validate_data(); } /// "Copy constructor" with unique data and frame count, but copies channel count and flags template ProcessContext (ProcessContext const & other, T * data, framecnt_t frames) - : Throwing(), _data (data), _frames (frames), _channels (other.channels()), _flags (other.flags()) + : Throwing(), _data (data), _frames (frames), _channels (other.channels()), _flags (other.flags()) { validate_data(); } /// "Copy constructor" with unique data, but copies frame and channel count + flags template ProcessContext (ProcessContext const & other, T * data) - : Throwing(), _data (data), _frames (other.frames()), _channels (other.channels()), _flags (other.flags()) + : Throwing(), _data (data), _frames (other.frames()), _channels (other.channels()), _flags (other.flags()) { /* No need to validate data */ } /// Make new Context out of the beginning of this context