|
| | RetainedList ()=default |
| | Default constructor. More...
|
| |
| | RetainedList (const this_type &list) |
| | Copy construct from list of same type. More...
|
| |
| | RetainedList (this_type &&list) |
| | Move construct from a list of the same type. More...
|
| |
| this_type & | operator= (const this_type &list) |
| | Copy assign from a list of the same type. More...
|
| |
| this_type & | operator= (this_type &&list) |
| | Move assign from a list of the same type. More...
|
| |
| template<typename FromPointerType , class FromValueType = typename std::remove_pointer<FromPointerType>::type, typename = typename std::enable_if<std::is_base_of<ValueType, FromValueType>::value>::type> |
| | RetainedList (const RetainedList< FromPointerType > &list) |
| | Copy construct from another RetainedList whose value type is a subclass of our value type. More...
|
| |
| template<typename FromPointerType , class FromValueType = typename std::remove_pointer<FromPointerType>::type, typename = typename std::enable_if<std::is_base_of<ValueType, FromValueType>::value>::type> |
| | RetainedList (RetainedList< FromPointerType > &&list) |
| | Move construct from another RetainedList whose value type is a subclass of our value type. More...
|
| |
| template<typename FromPointerType , class FromValueType = typename std::remove_pointer<FromPointerType>::type, typename = typename std::enable_if<std::is_base_of<ValueType, FromValueType>::value>::type> |
| ThingieList & | operator= (const RetainedList< FromPointerType > &list) |
| | Copy assign from another RetainedList whose value type is a subclass of our value type. More...
|
| |
| template<typename FromPointerType , class FromValueType = typename std::remove_pointer<FromPointerType>::type, typename = typename std::enable_if<std::is_base_of<ValueType, FromValueType>::value>::type> |
| ThingieList & | operator= (const RetainedList< FromPointerType > &&list) |
| | Move assign from another RetainedList whose value type is a subclass of our value type. More...
|
| |
| iterator | begin () noexcept |
| | Iterators: Return our iterators with correct dereference operator instead of the ThingieList ones. More...
|
| |
| const_iterator | begin () const noexcept |
| |
| const_iterator | cbegin () const noexcept |
| |
| iterator | end () noexcept |
| |
| const_iterator | end () const noexcept |
| |
| const_iterator | cend () const noexcept |
| |
| reverse_iterator | rbegin () noexcept |
| |
| const_reverse_iterator | rbegin () const noexcept |
| |
| const_reverse_iterator | crbegin () const noexcept |
| |
| reverse_iterator | rend () noexcept |
| |
| const_reverse_iterator | rend () const noexcept |
| |
| const_reverse_iterator | crend () const noexcept |
| |
| ActualType | operator[] (size_type item) |
| | Member accessors: return data as known type, instead of ThingieList. More...
|
| |
| ActualType const & | operator[] (size_type item) const |
| |
| ActualType & | front () |
| |
| const ActualType & | front () const |
| |
| ActualType & | back () |
| |
| const ActualType & | back () const |
| |
| iterator | erase (const_iterator target) |
| |
| iterator | erase (const_iterator first, const_iterator last) |
| |
| void | push_back (ActualType add) |
| |
| template<typename InsertionType > |
| void | push_back (const Retainer< InsertionType > &add) |
| |
| void | push_front (ActualType add) |
| |
| template<typename InsertionType > |
| void | push_front (const Retainer< InsertionType > &add) |
| |
| iterator | insert (const_iterator where, const ActualType add) |
| |
| template<class InputIterator > |
| iterator | insert (const_iterator where, InputIterator first, InputIterator last) |
| |
| void | join (const this_type &from) |
| |
| void | join (this_type &&from) |
| |
| | ~ThingieList () |
| | Release items when being destroyed. More...
|
| |
| | ThingieList ()=default |
| |
| | ThingieList (const ThingieList &list) |
| | Copy-construct items into this list. More...
|
| |
| | ThingieList (ThingieList &&list) |
| | Move-construct items into this list. More...
|
| |
| ThingieList & | operator= (const ThingieList &list) |
| | Copy assign into the list. More...
|
| |
| ThingieList & | operator= (ThingieList &&list) |
| | Move assign into the list. More...
|
| |
| template<class... Args> |
| iterator | emplace (const_iterator pos, Args &&...args)=delete |
| |
| template<class... Args> |
| void | emplace_back (Args &&...args)=delete |
| |
| iterator | insert (const_iterator pos, std::initializer_list< MusicThingie * >)=delete |
| |
| void | clear (void) |
| | Replace all the usual methods with ones that manage object retention. More...
|
| |
| iterator | erase (const_iterator target) |
| |
| iterator | erase (const_iterator first, const_iterator last) |
| |
| iterator | insert (const_iterator where, MusicThingie *const &add) |
| |
| iterator | insert (const_iterator where, MusicThingie *&&add) |
| |
| template<class InputIterator > |
| iterator | insert (const_iterator where, InputIterator first, InputIterator last) |
| |
| void | push_back (MusicThingie *add) |
| |
| template<typename InsertionType > |
| void | push_back (const Retainer< InsertionType > &add) |
| |
| void | push_front (MusicThingie *add) |
| |
| template<typename InsertionType > |
| void | push_front (const Retainer< InsertionType > &add) |
| |
| void | pop_back (void) |
| |
| void | pop_front (void) |
| |
| void | resize (size_type)=delete |
| |
| void | join (const ThingieList &from) |
| | Append another thingielist to this one. More...
|
| |
| void | join (ThingieList &&from) |
| | Append another thingielist to this one. More...
|
| |
| void | limitTo (MusicThingie::Type type) |
| | Purge anything that isn't a certain type. More...
|
| |
| bool | purge (const Media::Source *const source) |
| | Purge any items from a particular source from the list. More...
|
| |
template<typename ActualType, class ValueType = typename std::remove_pointer<ActualType>::type>
class RetainedList< ActualType, ValueType >
Container class for storing reference-counted music thingies.
This is a thin wrapper around ThingieList that uses that class to do all the work, but can restrict inserted data to a subclass, and automatically cast retrieved data to that subclass, providing type safety.