|
libpsynth 0.2.1
|
00001 00011 /* 00012 * Copyright (C) 2010 Juan Pedro Bolivar Puente 00013 * 00014 * This file is part of Psychosynth. 00015 * 00016 * Psychosynth is free software: you can redistribute it and/or modify 00017 * it under the terms of the GNU General Public License as published by 00018 * the Free Software Foundation, either version 3 of the License, or 00019 * (at your option) any later version. 00020 * 00021 * Psychosynth is distributed in the hope that it will be useful, 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00024 * GNU General Public License for more details. 00025 * 00026 * You should have received a copy of the GNU General Public License 00027 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00028 * 00029 */ 00030 00031 #ifndef PSYNTH_SOUND_DYNAMIC_RING_BUFFER_RANGE_H_ 00032 #define PSYNTH_SOUND_DYNAMIC_RING_BUFFER_RANGE_H_ 00033 00034 #include <psynth/sound/ring_buffer_range.hpp> 00035 00036 #include <psynth/sound/dynamic_algorithm.hpp> 00037 #include <psynth/sound/dynamic_buffer_range.hpp> 00038 #include <psynth/sound/dynamic_buffer_range_factory.hpp> 00039 00040 namespace psynth 00041 { 00042 namespace sound 00043 { 00044 00045 template <class Range> 00046 class dynamic_ring_buffer_range; 00047 00048 template <class Range> 00049 class dynamic_ring_buffer_range : public ring_buffer_range_base<Range> 00050 { 00051 typedef ring_buffer_range_base<Range> parent_type; 00052 00053 public: 00054 typedef dynamic_ring_buffer_range<typename Range::const_range> const_range; 00055 00056 dynamic_ring_buffer_range () {} 00057 00058 dynamic_ring_buffer_range (const dynamic_ring_buffer_range& range) 00059 : parent_type (range) {} 00060 00061 template<class Range2> 00062 explicit dynamic_ring_buffer_range (Range2& range) 00063 : parent_type (range) {} 00064 00065 template<class Range2> 00066 explicit dynamic_ring_buffer_range (const Range2& range) 00067 : parent_type (range) {} 00068 00069 template <class Range2> 00070 dynamic_ring_buffer_range (const dynamic_ring_buffer_range<Range2>& range) 00071 : parent_type (range) {} 00072 }; 00073 00074 } /* namespace sound */ 00075 } /* namespace psynth */ 00076 00077 #endif /* PSYNTH_SOUND_DYNAMIC_RING_BUFFER_RANGE_H_ */ 00078
1.7.4