Open Search
    NestedForEachIterator< I1, I2 > Class Template Reference

    #include <foreach.h>

    Inheritance diagram for NestedForEachIterator< I1, I2 >:

    Public Types

    using Outer = I1
     
    using Inner = I2
     
    using ValueType = decltype(*std::declval< I2 >())
     
    - Public Types inherited from ForEachIterator< NestedForEachIterator< I1, I2 > >
    using IsForEachIterator = std::true_type
     

    Public Member Functions

    MAXON_ATTRIBUTE_FORCE_INLINE NestedForEachIterator (I1 &&it)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ~NestedForEachIterator ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE operator Bool () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE void operator++ ()
     
    MAXON_ATTRIBUTE_FORCE_INLINE ValueType operator* () const
     
    MAXON_ATTRIBUTE_FORCE_INLINE std::remove_reference< ValueType >::typeoperator-> () const
     
    - Public Member Functions inherited from ForEachIterator< NestedForEachIterator< I1, I2 > >
    MAXON_ATTRIBUTE_FORCE_INLINE ForEachIterator (ARGS &&... args)
     
    String ToString (const FormatStatement *formatStatement=nullptr)
     
    NestedForEachIterator< I1, I2 > & Find (const T &v)
     
    Int FindIndex (const T &v)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Bool Contains (const T &v)
     
    MAXON_ATTRIBUTE_FORCE_INLINE Wrapper begin ()
     

    Private Member Functions

    void MoveToValid ()
     

    Private Attributes

    I1 _outerIterator
     
    union {
       Char   _innerIterator [SIZEOF(I2)]
     
       void *   _alignmentDummy
     
    }; 
     
    Bool _valid
     

    Additional Inherited Members

    - Static Public Member Functions inherited from ForEachIterator< NestedForEachIterator< I1, I2 > >
    static MAXON_ATTRIBUTE_FORCE_INLINE PRIVATE_MAXON_RBF_SENTINEL (Wrapper) end()
     

    Member Typedef Documentation

    ◆ Outer

    using Outer = I1

    ◆ Inner

    using Inner = I2

    ◆ ValueType

    using ValueType = decltype(*std::declval<I2>())

    Constructor & Destructor Documentation

    ◆ NestedForEachIterator()

    ◆ ~NestedForEachIterator()

    Member Function Documentation

    ◆ operator Bool()

    MAXON_ATTRIBUTE_FORCE_INLINE operator Bool ( ) const
    explicit

    ◆ operator++()

    MAXON_ATTRIBUTE_FORCE_INLINE void operator++ ( )

    ◆ operator*()

    ◆ operator->()

    MAXON_ATTRIBUTE_FORCE_INLINE std::remove_reference<ValueType>::type* operator-> ( ) const

    ◆ MoveToValid()

    void MoveToValid ( )
    private

    Member Data Documentation

    ◆ _outerIterator

    I1 _outerIterator
    private

    ◆ _innerIterator

    Char _innerIterator[SIZEOF(I2)]

    ◆ _alignmentDummy

    void* _alignmentDummy

    ◆ 

    union { ... }

    ◆ _valid

    Bool _valid
    private