Open Search
    foreach.h File Reference

    Classes

    struct  GetIteratorType< C >
     
    struct  GetIteratorType< T[N]>
     
    struct  IterableBeginHelper< I >
     
    struct  IterableBeginHelper< T[N]>
     
    struct  IterableBeginHelper< T(&)[N]>
     
    struct  ReverseIterable< I >
     
    struct  ReverseIterable< I >::Iterator
     
    class  ReverseIterator< IT >
     
    class  ForEachIterator< ITERATOR, SUPER >
     
    class  ForEachIterator< ITERATOR, SUPER >::Wrapper
     
    class  AutoIterator< C >
     
    class  AutoIterator< T[N]>
     
    class  NestedForEachIterator< I1, I2 >
     
    class  CommonIteratorTypes< T, I1, I2 >
     
    class  CommonIteratorTypes< void, I1, I2 >
     
    class  ConcatForEachIterator< T, I1, I2 >
     
    class  ConditionalForEachIterator< T, I1, I2 >
     
    class  MapForEachIterator< MAP, I >
     
    class  FilterForEachIterator< FILTER, I >
     
    class  ZipForEachIterator< I1, I2 >
     
    class  IndexForEachIterator< I >
     
    class  SingletonForEachIterator< T >
     
    class  EraseIterator< COLLECTION, SWAP_ERASE, IS_FOREACH_ITERATOR >
     
    class  EraseIterator< COLLECTION, SWAP_ERASE, false >
     
    class  Iterable
     
    class  Iterable::IteratorType< ITERABLE >
     

    Namespaces

     maxon
     
     maxon::details
     

    Functions

     MAXON_MEMBERTYPE_DETECTOR (GetNonConstIteratorType, Iterator, std::false_type)
     
     MAXON_MEMBERTYPE_DETECTOR (GetConstIteratorType, ConstIterator, std::false_type)
     
     MAXON_MEMBERTYPE_DETECTOR (GetCollectionType, CollectionType, T)
     
     MAXON_MEMBERTYPE_DETECTOR (IsForEachIterator, IsForEachIterator, std::false_type)
     
    template<typename I >
    ReverseIterator< typename GetIteratorType< typename std::remove_reference< I >::type >::typeRBegin (I &&iterable)
     
    template<typename I >
    ReverseIterator< typename GetIteratorType< typename std::remove_reference< I >::type >::typeREnd (I &&iterable)
     
    template<typename COLLECTION >
    MAXON_ATTRIBUTE_FORCE_INLINE auto begin (COLLECTION &&c) -> decltype(c.Begin())
     
    template<typename COLLECTION >
    MAXON_ATTRIBUTE_FORCE_INLINE auto end (COLLECTION &&c) -> decltype(c.End())
     
    template<typename COLLECTION , typename... ARGS>
    void EraseHelper (COLLECTION &collection, typename COLLECTION::Iterator &it, std::false_type *, ARGS &&... args)
     
    template<typename COLLECTION , typename... ARGS>
    void EraseHelper (COLLECTION &collection, typename COLLECTION::Iterator &it, std::true_type *, ARGS &&... args)