66 auto end() const -> ConstIterator; |
66 auto end() const -> ConstIterator; |
67 auto find (const T& needle) -> Iterator; |
67 auto find (const T& needle) -> Iterator; |
68 auto find (const T& needle) const -> ConstIterator; |
68 auto find (const T& needle) const -> ConstIterator; |
69 auto find (Function<bool (T const&)> func) -> Iterator; |
69 auto find (Function<bool (T const&)> func) -> Iterator; |
70 auto find (Function<bool (T const&)> func) const -> ConstIterator; |
70 auto find (Function<bool (T const&)> func) const -> ConstIterator; |
|
71 auto first() -> T&; |
71 auto first() const -> const T&; |
72 auto first() const -> const T&; |
72 auto insert (int pos, const T& value) -> void; |
73 auto insert (int pos, const T& value) -> void; |
73 auto is_empty() const -> bool; |
74 auto is_empty() const -> bool; |
|
75 auto last() -> T&; |
74 auto last() const -> const T&; |
76 auto last() const -> const T&; |
75 auto merge (const Self& other) -> void; |
77 auto merge (const Self& other) -> void; |
76 auto pop (T& val) -> bool; |
78 auto pop (T& val) -> bool; |
77 auto prepend (const T& value) -> T&; |
79 auto prepend (const T& value) -> T&; |
78 auto rbegin() -> ReverseIterator; |
80 auto rbegin() -> ReverseIterator; |
482 } |
484 } |
483 |
485 |
484 // ------------------------------------------------------------------------------------------------- |
486 // ------------------------------------------------------------------------------------------------- |
485 // |
487 // |
486 template<typename T, typename C> |
488 template<typename T, typename C> |
|
489 auto Container<T, C>::first() -> T& |
|
490 { |
|
491 return *m_container.begin(); |
|
492 } |
|
493 |
|
494 // ------------------------------------------------------------------------------------------------- |
|
495 // |
|
496 template<typename T, typename C> |
487 auto Container<T, C>::first() const -> const T& |
497 auto Container<T, C>::first() const -> const T& |
488 { |
498 { |
489 return *m_container.cbegin(); |
499 return *m_container.cbegin(); |
|
500 } |
|
501 |
|
502 // ------------------------------------------------------------------------------------------------- |
|
503 // |
|
504 template<typename T, typename C> |
|
505 auto Container<T, C>::last() -> T& |
|
506 { |
|
507 return *(m_container.end() - 1); |
490 } |
508 } |
491 |
509 |
492 // ------------------------------------------------------------------------------------------------- |
510 // ------------------------------------------------------------------------------------------------- |
493 // |
511 // |
494 template<typename T, typename C> |
512 template<typename T, typename C> |