Sequoia
Loading...
Searching...
No Matches
Classes | Concepts | Variables
Creator.hpp File Reference

Traits, Concepts and basic utilities for the creation of objects. More...

#include "sequoia/Core/Meta/Concepts.hpp"

Go to the source code of this file.

Classes

struct  sequoia::object::direct_forwarder< T, Product >
 
class  sequoia::object::producer< T, Product, Transformer >
 Creates a product for T. More...
 

Concepts

concept  sequoia::object::creator
 
concept  sequoia::object::makeable_from
 

Variables

template<class Product , class T >
constexpr bool sequoia::object::impl::dependent_value_type_same_as_v
 
template<class Product , class T >
constexpr bool sequoia::object::impl::dependent_element_type_same_as_v
 
template<class Product , class T >
constexpr bool sequoia::object::product_for_v
 

Detailed Description

Traits, Concepts and basic utilities for the creation of objects.

Variable Documentation

◆ dependent_element_type_same_as_v

template<class Product , class T >
constexpr bool sequoia::object::impl::dependent_element_type_same_as_v
inlineconstexpr
Initial value:
{
requires{
typename Product::element_type;
requires std::same_as<T, typename Product::element_type>;
}
}

◆ dependent_value_type_same_as_v

template<class Product , class T >
constexpr bool sequoia::object::impl::dependent_value_type_same_as_v
inlineconstexpr
Initial value:
{
requires{
typename Product::value_type;
requires std::same_as<T, typename Product::value_type>;
}
}

◆ product_for_v

template<class Product , class T >
constexpr bool sequoia::object::product_for_v
inlineconstexpr
Initial value:
{
(impl::dependent_value_type_same_as_v<Product, T> && initializable_from<Product, T>)
|| (impl::dependent_element_type_same_as_v<Product, T> && initializable_from<Product, T*>)
}
A concept similar to std::constructible_from, but which considers braced-init.
Definition: Concepts.hpp:75