summaryrefslogtreecommitdiff
path: root/libs/ardour/chan_mapping.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-29 21:50:40 +0200
committerRobin Gareus <robin@gareus.org>2016-03-29 21:50:40 +0200
commit700513e411e7b9d37f80351b6a54c10584eb792b (patch)
tree03a448ace8d258b00f1eeb959350249ad12c6bac /libs/ardour/chan_mapping.cc
parent3aade3801d5ff2c8314eefc4375475f46e913fac (diff)
C++11/C++98 compat mainly for OSX/clang
Diffstat (limited to 'libs/ardour/chan_mapping.cc')
-rw-r--r--libs/ardour/chan_mapping.cc35
1 files changed, 21 insertions, 14 deletions
diff --git a/libs/ardour/chan_mapping.cc b/libs/ardour/chan_mapping.cc
index bc6c4051fc..0ca79af505 100644
--- a/libs/ardour/chan_mapping.cc
+++ b/libs/ardour/chan_mapping.cc
@@ -41,8 +41,13 @@ ChanMapping::ChanMapping(ChanCount identity)
}
ChanMapping::ChanMapping (const ChanMapping& other )
- : _mappings (other._mappings)
{
+ const ChanMapping::Mappings& mp (other.mappings());
+ for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
+ for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
+ set (tm->first, i->first, i->second);
+ }
+ }
}
uint32_t
@@ -66,7 +71,7 @@ void
ChanMapping::set(DataType t, uint32_t from, uint32_t to)
{
assert(t != DataType::NIL);
- Mappings::iterator tm = _mappings.find(t);
+ Mappings::iterator tm = _mappings.find (t);
if (tm == _mappings.end()) {
tm = _mappings.insert(std::make_pair(t, TypeMapping())).first;
}
@@ -77,7 +82,7 @@ void
ChanMapping::unset(DataType t, uint32_t from)
{
assert(t != DataType::NIL);
- Mappings::iterator tm = _mappings.find(t);
+ Mappings::iterator tm = _mappings.find (t);
if (tm == _mappings.end()) {
return;
}
@@ -89,10 +94,10 @@ void
ChanMapping::offset_from(DataType t, int32_t delta)
{
Mappings::iterator tm = _mappings.find(t);
- if (tm != _mappings.end()) {
+ if (tm != _mappings.end ()) {
TypeMapping new_map;
for (TypeMapping::iterator m = tm->second.begin(); m != tm->second.end(); ++m) {
- new_map.insert(make_pair(m->first + delta, m->second));
+ new_map.insert (make_pair (m->first + delta, m->second));
}
tm->second = new_map;
}
@@ -113,8 +118,9 @@ ChanMapping::offset_to(DataType t, int32_t delta)
bool
ChanMapping::is_subset (const ChanMapping& superset) const
{
- for (ARDOUR::ChanMapping::Mappings::const_iterator tm = mappings().begin(); tm != mappings().end(); ++tm) {
- for (ARDOUR::ChanMapping::TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
+ const Mappings& mp (mappings());
+ for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
+ for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
bool valid;
if (i->second != superset.get (tm->first, i->first, &valid)) {
return false;
@@ -130,9 +136,10 @@ ChanMapping::is_subset (const ChanMapping& superset) const
bool
ChanMapping::is_monotonic () const
{
- for (ARDOUR::ChanMapping::Mappings::const_iterator tm = mappings().begin(); tm != mappings().end(); ++tm) {
+ const Mappings& mp (mappings());
+ for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
uint32_t prev = UINT32_MAX;
- for (ARDOUR::ChanMapping::TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
+ for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
// set keys are strictly weak ordered
if (i->first < i->second || i->second == prev) {
return false;
@@ -146,8 +153,9 @@ ChanMapping::is_monotonic () const
bool
ChanMapping::is_identity (ChanCount offset) const
{
- for (ARDOUR::ChanMapping::Mappings::const_iterator tm = mappings().begin(); tm != mappings().end(); ++tm) {
- for (ARDOUR::ChanMapping::TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
+ const Mappings& mp (mappings());
+ for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
+ for (TypeMapping::const_iterator i = tm->second.begin(); i != tm->second.end(); ++i) {
if (i->first + offset.get (tm->first) != i->second) {
return false;
}
@@ -160,8 +168,8 @@ ChanMapping::is_identity (ChanCount offset) const
std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& cm)
{
- for (ARDOUR::ChanMapping::Mappings::const_iterator tm = cm.mappings().begin();
- tm != cm.mappings().end(); ++tm) {
+ const ARDOUR::ChanMapping::Mappings& mp (cm.mappings());
+ for (ARDOUR::ChanMapping::Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) {
o << tm->first.to_string() << endl;
for (ARDOUR::ChanMapping::TypeMapping::const_iterator i = tm->second.begin();
i != tm->second.end(); ++i) {
@@ -171,4 +179,3 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& cm)
return o;
}
-