4#ifndef _Stroika_Foundation_Containers_Concrete_Sequence_Factory_h_
5#define _Stroika_Foundation_Containers_Concrete_Sequence_Factory_h_
7#include "Stroika/Foundation/StroikaPreComp.h"
18namespace Stroika::Foundation::Containers::Factory {
30 static_assert (not is_reference_v<T>,
31 "typically if this fails its because a (possibly indirect) caller forgot to use forward<>(), or remove_cvref_t");
97 static void Register (
const optional<Sequence_Factory>& f = nullopt);
114#include "Sequence_Factory.inl"
Singleton factory object - Used to create the default backend implementation of a Sequence<> containe...
nonvirtual ConstructedType operator()() const
constexpr Sequence_Factory()
function< ConstructedType()> FactoryFunctionType
static const Sequence_Factory & Default()
static void Register(const optional< Sequence_Factory > &f=nullopt)
Sequence< T > ConstructedType
A generalization of a vector: a container whose elements are keyed by the natural numbers.