CeresEngine
0.2.0
A game development framework
Loading...
Searching...
No Matches
iterator.hpp
Go to the documentation of this file.
1
//
2
// CeresEngine - A game development framework
3
//
4
// Created by Rogiel Sulzbach.
5
// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6
//
7
8
#pragma once
9
10
#include "
CeresEngine/Foundation/Traits/has_element_type.hpp
"
11
#include "
CeresEngine/Foundation/Traits/has_iterator_traits_value_type.hpp
"
12
#include "
CeresEngine/Foundation/Traits/has_value_type.hpp
"
13
#include "
CeresEngine/Foundation/Traits/remove_cvref.hpp
"
14
15
#include <iterator>
16
#include <type_traits>
17
18
namespace
CeresEngine::traits
{
19
22
template
<
class
T,
class
=
void
>
struct
iterator
{};
23
24
template
<
class
T>
struct
iterator
<
T
,
std
::void_t<decltype(begin(std::declval<T&>()))>> {
using
type =
decltype
(begin(std::declval<T&>())); };
25
27
template
<
class
T>
using
iterator_t
=
typename
iterator<T>::type
;
28
29
}
// namespace CeresEngine::traits
has_element_type.hpp
has_iterator_traits_value_type.hpp
has_value_type.hpp
CeresEngine::traits
Definition
Partitioner.hpp:146
CeresEngine::traits::iterator_t
typename iterator< T >::type iterator_t
A C++17 type trait equivalent to the C++20 iterator_t concept.
Definition
iterator.hpp:27
CeresEngine::Button::T
@ T
std
Definition
Span.hpp:668
remove_cvref.hpp
CeresEngine::traits::iterator
A C++17 type trait equivalent to the C++20 iterator_t concept.
Definition
iterator.hpp:22
Sources
CeresEngine
Foundation
Traits
iterator.hpp
Generated by
1.9.8