Flutter Engine
The Flutter Engine
Classes | Functions
SkEnumerate.h File Reference
#include <cstddef>
#include <iterator>
#include <tuple>
#include <variant>

Go to the source code of this file.

Classes

class  SkEnumerate< Iter, C >
 

Functions

template<typename C , typename Iter = decltype(std::begin(std::declval<C>()))>
constexpr SkEnumerate< Iter > SkMakeEnumerate (C &c)
 
template<typename C , typename Iter = decltype(std::begin(std::declval<C>()))>
constexpr SkEnumerate< Iter, CSkMakeEnumerate (C &&c)
 
template<class T , std::size_t N, typename Iter = decltype(std::begin(std::declval<T(&)[N]>()))>
constexpr SkEnumerate< Iter > SkMakeEnumerate (T(&a)[N])
 

Function Documentation

◆ SkMakeEnumerate() [1/3]

template<typename C , typename Iter = decltype(std::begin(std::declval<C>()))>
constexpr SkEnumerate< Iter, C > SkMakeEnumerate ( C &&  c)
inlineconstexpr

Definition at line 106 of file SkEnumerate.h.

106 {
107 return SkEnumerate<Iter, C>{std::forward<C>(c)};
108}

◆ SkMakeEnumerate() [2/3]

template<typename C , typename Iter = decltype(std::begin(std::declval<C>()))>
constexpr SkEnumerate< Iter > SkMakeEnumerate ( C c)
inlineconstexpr

Definition at line 102 of file SkEnumerate.h.

102 {
103 return SkEnumerate<Iter>{std::begin(c), std::end(c)};
104}
static const char * begin(const StringSlice &s)
Definition: editor.cpp:252

◆ SkMakeEnumerate() [3/3]

template<class T , std::size_t N, typename Iter = decltype(std::begin(std::declval<T(&)[N]>()))>
constexpr SkEnumerate< Iter > SkMakeEnumerate ( T(&)  a[N])
inlineconstexpr

Definition at line 111 of file SkEnumerate.h.

111 {
112 return SkEnumerate<Iter>{std::begin(a), std::end(a)};
113}
struct MyStruct a[10]