Entity Generator 4.2.0
Composable, deterministic entity generation for C++23
Loading...
Searching...
No Matches
dasmig::constant_component< T, Formatter > Class Template Reference

Component that always returns a fixed value. More...

#include <entitygen.hpp>

Inheritance diagram for dasmig::constant_component< T, Formatter >:
dasmig::component

Public Member Functions

 constant_component (std::wstring key, T value, Formatter fmt={})
 Construct a constant component.
 
std::wstring key () const override
 Unique key identifying this component (e.g. "name", "age").
 
std::any generate (const generation_context &) const override
 Generate a random value for this component.
 
std::wstring to_string (const std::any &value) const override
 Convert a generated value to a displayable string.
 
- Public Member Functions inherited from dasmig::component
 component ()=default
 Default constructor.
 
 component (const component &)=default
 Copyable.
 
component & operator= (const component &)=default
 Copyable.
 
 component (component &&) noexcept=default
 Movable.
 
component & operator= (component &&) noexcept=default
 Movable.
 
virtual ~component ()=default
 Virtual destructor for proper cleanup of derived classes.
 
virtual json_value to_json (const std::any &value) const
 Convert a generated value to JSON, for entity::to_json().
 
virtual std::wstring label () const
 Display name of this component, used by entity::to_string().
 
virtual std::vector< std::wstring > depends_on () const
 Keys of the components this one reads from the context.
 
virtual std::uint64_t data_hash () const
 Hash of the data this component draws from, for replay.
 
virtual double weight () const
 Inclusion weight for this component (0.0 to 1.0).
 
virtual bool validate (const std::any &value) const
 Validate a generated value.
 
virtual bool should_generate (const generation_context &ctx) const
 Decide whether this component should be generated.
 

Additional Inherited Members

- Static Protected Member Functions inherited from dasmig::component
static std::wstring default_to_string (const std::any &value)
 Default conversion covering common standard types.
 
static json_value default_to_json (const std::any &value, const std::wstring &display)
 Default JSON conversion used by to_json().
 

Detailed Description

template<typename T, typename Formatter = use_default_formatter>
class dasmig::constant_component< T, Formatter >

Component that always returns a fixed value.

Template Parameters
TThe value type.
FormatterOptional callable for custom string conversion (defaults to use_default_formatter).

Definition at line 497 of file entitygen.hpp.

Constructor & Destructor Documentation

◆ constant_component()

template<typename T , typename Formatter = use_default_formatter>
dasmig::constant_component< T, Formatter >::constant_component ( std::wstring  key,
T  value,
Formatter  fmt = {} 
)
inlineexplicit

Construct a constant component.

Parameters
keyUnique component key.
valueThe fixed value to always return.
fmtOptional custom formatter.

Definition at line 504 of file entitygen.hpp.

Member Function Documentation

◆ generate()

template<typename T , typename Formatter = use_default_formatter>
std::any dasmig::constant_component< T, Formatter >::generate ( const generation_context &  ctx) const
inlineoverridevirtual

Generate a random value for this component.

Parameters
ctxContext providing access to previously generated values and a seeded random engine.
Returns
The generated value wrapped in std::any.

Implements dasmig::component.

Definition at line 511 of file entitygen.hpp.

◆ key()

template<typename T , typename Formatter = use_default_formatter>
std::wstring dasmig::constant_component< T, Formatter >::key ( ) const
inlineoverridevirtual

Unique key identifying this component (e.g. "name", "age").

Returns
The component key as a wide string.

Implements dasmig::component.

Definition at line 509 of file entitygen.hpp.

◆ to_string()

template<typename T , typename Formatter = use_default_formatter>
std::wstring dasmig::constant_component< T, Formatter >::to_string ( const std::any &  value) const
inlineoverridevirtual

Convert a generated value to a displayable string.

Parameters
valueThe value previously returned by generate().
Returns
A human-readable wide-string representation.
See also
default_to_string()

Implements dasmig::component.

Definition at line 517 of file entitygen.hpp.


The documentation for this class was generated from the following file: