Beluga named requirements: Particle
What an implementation of a particle in Beluga should provide.
Requirements
P is a Particle type if given:
An instance
pofP.A possibly const instance
cpofP.
The following is satisfied:
beluga::state(cp)is a valid expression and returns the particle state.beluga::weight(cp)is a valid expression and returns the particle weight.beluga::state(p)is a valid expression and returns a mutable reference to the particle state.beluga::weight(p)is a valid expression and returns a mutable reference to the particle weight.
Notes
Both beluga::state and beluga::weight are customization point objects. Users have two customization alternatives: