|
Entity Generator 1.1.0
Composable, deterministic entity generation for C++23
|
Component that picks uniformly at random from a list of values. More...
#include <entitygen.hpp>
Public Member Functions | |
| choice_component (std::wstring key, std::vector< T > choices, Formatter fmt={}) | |
| Construct a choice component. | |
| std::wstring | key () const override |
Unique key identifying this component (e.g. "name", "age"). | |
| std::any | generate (const generation_context &ctx) 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 | |
| virtual | ~component ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| 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. | |
Component that picks uniformly at random from a list of values.
| T | The value type. |
| Formatter | Optional callable for custom string conversion. |
Definition at line 228 of file entitygen.hpp.
|
inlineexplicit |
Construct a choice component.
| key | Unique component key. |
| choices | Non-empty list of values to choose from. |
| fmt | Optional custom formatter. |
| std::invalid_argument | If choices is empty. |
Definition at line 236 of file entitygen.hpp.
|
inlineoverridevirtual |
Generate a random value for this component.
| ctx | Context providing access to previously generated values and a seeded random engine. |
std::any. Implements dasmig::component.
Definition at line 247 of file entitygen.hpp.
|
inlineoverridevirtual |
Unique key identifying this component (e.g. "name", "age").
Implements dasmig::component.
Definition at line 245 of file entitygen.hpp.
|
inlineoverridevirtual |
Convert a generated value to a displayable string.
| value | The value previously returned by generate(). |
Implements dasmig::component.
Definition at line 253 of file entitygen.hpp.