14template<
typename FilterClass>
32 return Lhs._Current == Rhs._Current
33 && Lhs._End == Rhs._End;
38 return Lhs._Current != Rhs._Current
39 || Lhs._End != Rhs._End;
54 ULANG_ASSERTF(_Current != _End && (*_Current)->IsA<FilterClass>(),
"Invalid iterator state");
55 return _Current->As<FilterClass>();
60 ULANG_ASSERTF(_Current != _End && (*_Current)->IsA<FilterClass>(),
"Invalid iterator state");
61 return _Current->As<FilterClass>().Get();
70 while (_Current != _End && !(*_Current)->IsA<FilterClass>())
#define ULANG_FORCEINLINE
Definition Common.h:188
#define ULANG_ASSERTF(expr, format,...)
Definition Common.h:290
An iterator in a filtered definition range.
Definition FilteredDefinitionRange.h:21
Iterator(const TSRef< CDefinition > *Current, const TSRef< CDefinition > *End)
Definition FilteredDefinitionRange.h:23
friend bool operator!=(const Iterator &Lhs, const Iterator &Rhs)
Definition FilteredDefinitionRange.h:36
Iterator & operator++()
Definition FilteredDefinitionRange.h:42
ULANG_FORCEINLINE const FilterClass * operator->() const
Definition FilteredDefinitionRange.h:58
ULANG_FORCEINLINE const TSRef< FilterClass > & operator*() const
Definition FilteredDefinitionRange.h:52
friend bool operator==(const Iterator &Lhs, const Iterator &Rhs)
Definition FilteredDefinitionRange.h:30
Filters a range of definitions to only include definitions of the kind corresponding to FilterClass.
Definition FilteredDefinitionRange.h:16
Iterator end() const
Definition FilteredDefinitionRange.h:81
Iterator begin() const
Definition FilteredDefinitionRange.h:80
TFilteredDefinitionRange(const TSRef< CDefinition > *Begin, const TSRef< CDefinition > *End)
Definition FilteredDefinitionRange.h:77
Definition SharedPointer.h:77
Definition VVMEngineEnvironment.h:23