BinPacker.Constraint behaviour (bin_packer v0.1.0) View Source

Link to this section Summary

Link to this section Types

Specs

args() :: any()

Specs

bin_id() :: BinPacker.bin_id()

Specs

num_propositions() :: pos_integer()

Specs

proposition() :: BinPacker.proposition()

Specs

proposition_type() :: BinPacker.proposition_type()

Specs

propositions() :: BinPacker.propositions()

Specs

state() :: any()

Specs

stream() :: (... -> any())

Link to this section Functions

Link to this function

ball_added(bin_packer, ball)

View Source
Link to this function

bin_added(bin_packer, bin)

View Source
Link to this function

generate_propositions(bin_packer, type, ball_id, num)

View Source
Link to this function

proposition_executed(bin_packer, proposition)

View Source
Link to this function

valid_new_placement?(constraints, bin_packer, ball, bin_id)

View Source
Link to this function

valid_proposition?(bin_packer, proposition)

View Source
Link to this function

valid_proposition?(bin_packer, proposition, constraints)

View Source

Link to this section Callbacks

Link to this callback

ball_added(arg1, arg2, state)

View Source

Specs

ball_added(BinPacker.t(), BinPacker.Ball.t(), state()) :: state()
Link to this callback

bin_added(arg1, arg2, state)

View Source

Specs

bin_added(BinPacker.t(), Bin.t(), state()) :: state()
Link to this callback

generate_propositions(arg1, proposition_type, arg3, state)

View Source

Specs

generate_propositions(
  BinPacker.t(),
  proposition_type(),
  BinPacker.Ball.t(),
  state()
) :: stream()

Specs

init(args()) :: state()
Link to this callback

propose_new_placements(arg1, arg2, state)

View Source

Specs

propose_new_placements(BinPacker.t(), BinPacker.Ball.t(), state()) :: stream()
Link to this callback

proposition_executed(arg1, proposition, state)

View Source

Specs

proposition_executed(BinPacker.t(), proposition(), state()) :: state()
Link to this callback

valid_new_placement?(arg1, arg2, bin_id, state)

View Source

Specs

valid_new_placement?(BinPacker.t(), BinPacker.Ball.t(), bin_id(), state()) ::
  boolean()
Link to this callback

valid_proposition?(arg1, proposition, state)

View Source

Specs

valid_proposition?(BinPacker.t(), proposition(), state()) :: boolean()