libbio
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
bio::physical::Collapse Class Reference

#include <Collapse.h>

Inheritance diagram for bio::physical::Collapse:
Inheritance graph
[legend]
Collaboration diagram for bio::physical::Collapse:
Collaboration graph
[legend]

Public Member Functions

 Collapse (const Superposition &applyTo)
 
virtual ~Collapse ()
 
virtual ByteStream operator() (const ConstWaves &waves) const
 
- Public Member Functions inherited from bio::physical::Class< Collapse >
 Class (Pointer< Collapse > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< Collapse > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual ~Class ()
 
virtual Pointer< CollapseGetWaveObject ()
 
virtual Pointer< const CollapseGetWaveObject () const
 
virtual operator Collapse & ()
 
virtual operator const Collapse & () const
 
virtual Pointer< WaveClone () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::physical::Wave
 Wave (Pointer< Symmetry > symmetry=NULL)
 
 Wave (const Wave &other)
 
Waveoperator= (const Wave &other)
 
virtual ~Wave ()
 
virtual Properties GetProperties () const
 
virtual Pointer< const SymmetrySpin () const
 
Pointer< const SymmetryGetSymmetry () const
 
virtual Code Reify (Pointer< const Symmetry > symmetry)
 
virtual bool Superpose (Pointer< const Wave > displacement, Pointer< Interference > pattern)
 
virtual Pointer< WaveSuperpose (const ConstWaves &displacement, Pointer< Interference > pattern)
 
virtual Pointer< WaveModulate (Pointer< Wave > signal)
 
virtual Pointer< WaveDemodulate ()
 
virtual Pointer< const WaveDemodulate () const
 
virtual Code Attenuate (Pointer< const Wave > other)
 
virtual Code Disattenuate (Pointer< const Wave > other)
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual Pointer< chemical::AtomAsAtom ()
 
virtual Pointer< const chemical::AtomAsAtom () const
 
virtual void operator| (Pointer< Symmetry > symmetry)
 
virtual Pointer< Waveoperator* (Pointer< Wave > signal)
 
virtual Pointer< Waveoperator* ()
 
virtual Pointer< const Waveoperator* () const
 
virtual void operator+ (Pointer< const Wave > other)
 
virtual void operator- (Pointer< const Wave > other)
 
uint16_t GetTypeId () const
 
void SetTypeId (uint16_t typeId)
 
- Public Member Functions inherited from bio::physical::Identifiable< Superposition >
 Identifiable (Pointer< Perspective< Superposition > > perspective=NULL)
 
 Identifiable (const Name &name, Pointer< Perspective< Superposition > > perspective=NULL)
 
 Identifiable (Identifier id, Pointer< Perspective< Superposition > > perspective=NULL)
 
 Identifiable (const Identifiable &other)
 
virtual ~Identifiable ()
 
virtual operator Superposition () const
 
virtual bool operator== (const Identifier id) const
 
virtual bool operator== (const Name &name) const
 
virtual bool operator== (const Identifiable< Superposition > &other) const
 
virtual Name GetName () const
 
virtual Identifier GetId () const
 
virtual bool SetName (const Name &name)
 
virtual bool SetId (Identifier id)
 
virtual bool IsName (const Name &name) const
 
virtual bool IsNameInsensitive (const Name &name) const
 
virtual bool IsId (Identifier id) const
 
virtual void SetPerspective (Pointer< Perspective< Superposition > > perspective)
 
- Public Member Functions inherited from bio::physical::Class< T >
 Class (Pointer< T > object, Pointer< Symmetry > symmetry=NULL)
 
 Class (Pointer< T > object, SymmetryFactory symmetryFactory)
 
 Class (const Class &other)
 
virtual ~Class ()
 
virtual Pointer< TGetWaveObject ()
 
virtual Pointer< const TGetWaveObject () const
 
virtual operator T& ()
 
virtual operator const T & () const
 
virtual Pointer< WaveClone () const
 
Pointer< WaveAsWave ()
 
Pointer< const WaveAsWave () const
 
virtual operator Pointer< Wave > ()
 
- Public Member Functions inherited from bio::physical::Observer< PERSPECTIVE >
 Observer (Pointer< Perspective > perspective=NULL)
 
 Observer (const Observer &other)
 
virtual ~Observer ()
 
virtual void SetPerspective (Pointer< Perspective > perspective)
 
virtual Pointer< PerspectiveGetPerspective () const
 

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< CollapseConvert (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< TConvert (Pointer< Wave > wave)
 

Additional Inherited Members

- Public Types inherited from bio::physical::Identifiable< Superposition >
typedef Superposition Identifier
 
typedef Arrangement< IdentifierIds
 
- Public Types inherited from bio::physical::Observer< PERSPECTIVE >
typedef PERSPECTIVE Perspective
 
- Protected Member Functions inherited from bio::physical::Identifiable< Superposition >
virtual void InitializeImplementation (ByteStreams &args)
 
friend::std::ostream & operator<< (std::ostream &out, const Identifiable< Superposition > &t)
 
- Protected Member Functions inherited from bio::VirtualBase
 VirtualBase ()
 
virtual ~VirtualBase ()
 
void Initialize (ByteStreams &args)
 
void Initialize (ByteStream arg1)
 
void Initialize (ByteStream arg1, ByteStream arg2)
 
void Initialize (ByteStream arg1, ByteStream arg2, ByteStream arg3)
 
- Protected Attributes inherited from bio::physical::Class< Collapse >
Pointer< CollapsemObject
 
- Protected Attributes inherited from bio::physical::Wave
LazyPointer< SymmetrymSymmetry
 
bool mHasSignal
 
uint16_t mTypeId
 
- Protected Attributes inherited from bio::physical::Class< T >
Pointer< TmObject
 
- Protected Attributes inherited from bio::VirtualBase
bool mHasBeenInitialized
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Collapse()

bio::physical::Collapse::Collapse ( const Superposition applyTo)

Ensure virtual methods point to Class implementations.

Parameters
applyTo

◆ ~Collapse()

bio::physical::Collapse::~Collapse ( )
virtual

Member Function Documentation

◆ Measure()

ByteStream bio::physical::Collapse::Measure ( const Superposition superposition,
const ConstWaves waves 
)
static

This is a convenience function which calls the operator() function of the appropriate Collapse object.

Parameters
superposition
waves
Returns
the result of Collapsing the given superposition.

◆ operator()()

ByteStream bio::physical::Collapse::operator() ( const ConstWaves waves) const
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!

Parameters
waves
Returns
like, whatever. man.

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.


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