|
libbio
|
#include <Collapse.h>


Static Public Member Functions | |
| static ByteStream | Measure (const Superposition &superposition, const ConstWaves &waves) |
Static Public Member Functions inherited from bio::physical::Class< Collapse > | |
| static Pointer< Collapse > | Convert (Pointer< Wave > wave) |
Static Public Member Functions inherited from bio::physical::Wave | |
| static Properties | GetResonanceBetween (ConstWaves waves) |
| static Properties | GetResonanceBetween (Pointer< const Wave > wave1, Pointer< const Wave > wave2) |
| static Properties | GetResonanceBetween (Pointer< const Wave > wave, const Properties &properties) |
Static Public Member Functions inherited from bio::physical::Class< T > | |
| static Pointer< T > | Convert (Pointer< Wave > wave) |
Collapse handles Interference by providing a function which can be associated with each Superposition.
Thus, instead of implementing the behavior each Superposition has on your complex Wave, you can simply call Collapse::Measure(Superposition, ...) .
Collapses automatically register themselves with the SuperpositionPerspective.
| bio::physical::Collapse::Collapse | ( | const Superposition & | applyTo | ) |
Ensure virtual methods point to Class implementations.
| applyTo |
|
virtual |
|
static |
This is a convenience function which calls the operator() function of the appropriate Collapse object.
| superposition | |
| waves |
|
virtual |
Perform some operation and return the result, whatever that is.
It's generally expected that the result will be assigned to the first Wave's value, whatever that is.
This in intentionally very generic. Use it to implement any behavior you want!
| waves |
Reimplemented in bio::physical::And, bio::physical::Average, bio::physical::Difference, bio::physical::FirstToWrite, bio::physical::Highest, bio::physical::LastToWrite, bio::physical::Lowest, bio::physical::Nand, bio::physical::Nor, bio::physical::Not, bio::physical::Or, bio::physical::Sum, bio::physical::Xnor, and bio::physical::Xor.