song list: get rid of boost::zip_iterator and improve {Const,}SongIterator

This commit is contained in:
Andrzej Rybczak
2016-12-08 04:28:43 +01:00
parent 612f8c3145
commit b7386c4fa6
15 changed files with 244 additions and 161 deletions

View File

@@ -260,6 +260,23 @@ struct Item
{
return m_type;
}
Directory &directory()
{
return const_cast<Directory &>(
static_cast<const Item &>(*this).directory());
}
Song &song()
{
return const_cast<Song &>(
static_cast<const Item &>(*this).song());
}
Playlist &playlist()
{
return const_cast<Playlist &>(
static_cast<const Item &>(*this).playlist());
}
const Directory &directory() const
{
assert(m_type == Type::Directory);