17 template<
typename T,
typename RawAllocator = DefaultAllocator>
using Vector = std::vector<T, ScopedAllocatorAdaptor<StdAllocator<T, RawAllocator>>>;
24 template<
typename RawAllocator,
typename Range>
auto toVector(Range&
range) {
25 using T = std::decay_t<
decltype(*
range.begin())>;
31 template<
typename RawAllocator,
typename Range>
auto toVector(Range&&
range) {
32 using T = std::decay_t<
decltype(*
range.begin())>;
38 template<
typename RawAllocator,
typename Range>
auto toVector(
const Range&
range) {
39 using T = std::decay_t<
decltype(*
range.begin())>;
61template<
typename T,
typename Allocator>
struct std::hash<
CeresEngine::
Vector<T, Allocator>> {
63 inline size_t operator()(
const Type&
object)
const noexcept {
65 for(
const T& value : object) {
Definition Application.hpp:19
auto toTemporaryVector(Range &range)
Converts a range into a TemporaryVector.
Definition Vector.hpp:53
Vector< T, TemporaryAllocator > TemporaryVector
A special Vector that uses a fast temporary allocator.
Definition Vector.hpp:20
auto range()
Returns an iterator that increases it's value from 0 to end by 1 for each step.
Definition Iterator.hpp:350
constexpr void combine(std::size_t &seed, const T &v)
Generates a new hash for the provided type using the default standard hasher and combines it with a p...
Definition Hash.hpp:32
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
auto toVector(Range &range)
Converts a range into a Vector using a custom RawAllocator.
Definition Vector.hpp:24
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25