17#include <boost/signals2/signal.hpp>
80#if !defined(ADOBE_NO_DOCUMENTATION)
513 class implementation_t;
514 implementation_t* object_m;
532 boost::reference_wrapper<sheet_t> sheet_m;
The fundamental data structure for the Property Model engine.
void add_input(name_t name, const line_position_t &position, const array_t &initializer)
connection_t monitor_contributing(name_t cell, const dictionary_t &mark, const monitor_contributing_t &proc)
std::size_t count_interface(name_t name) const
bool has_input(name_t name) const
bool has_output(name_t name) const
any_regular_t inspect(const array_t &expression)
dictionary_t contributing_to_cell(name_t) const
void set(const dictionary_t &dictionary)
void add_invariant(name_t name, const line_position_t &position, const array_t &expression)
void add_interface(name_t name, any_regular_t initial)
connection_t monitor_value(name_t name, const monitor_value_t &proc)
void touch(const name_t *first, const name_t *last)
const any_regular_t & operator[](name_t cell) const
std::function< void(const any_regular_t &)> monitor_value_t
void add_relation(const line_position_t &position, const array_t &conditional, const relation_t *first, const relation_t *last)
void add_constant(name_t name, any_regular_t value)
void add_logic(name_t name, const line_position_t &position, const array_t &expression)
void add_interface(name_t name, bool linked, const line_position_t &position1, const array_t &initializer, const line_position_t &position2, const array_t &expression)
dictionary_t contributing(const dictionary_t &mark) const
connection_t monitor_invariant_dependent(name_t output, const monitor_invariant_t &proc)
boost::signals2::connection connection_t
std::function< void(bool)> monitor_enabled_t
void set(name_t cell, const any_regular_t &value)
connection_t monitor_enabled(name_t cell, const name_t *first, const name_t *last, const monitor_enabled_t &proc)
std::function< void(const dictionary_t &)> monitor_contributing_t
dictionary_t contributing() const
void add_output(name_t name, const line_position_t &position, const array_t &expression)
any_regular_t get(name_t cell)
std::function< void(bool)> monitor_invariant_t
virtual_machine_t machine_m
void add_constant(name_t name, const line_position_t &position, const array_t &initializer)
A runtime polymorphic type similar to boost::any which can hold any type which models Regular.
Stack-based non-branching expression evaluator.
closed_hash_map< name_t, any_regular_t > dictionary_t
std::vector< any_regular_t > array_t
A type detailing parser position information.
A character string class for immutable strings.
void operator()(const any_regular_t &x)
set_monitor_t(sheet_t &sheet, name_t cell_name)
Adam support class for related relationships.
line_position_t position_m
relation_t & operator=(relation_t x)
friend void swap(relation_t &x, relation_t &y)
relation_t(relation_t &&x) noexcept
relation_t(const relation_t &)=default
std::vector< name_t > name_set_m
relation_t(std::vector< name_t > n, line_position_t p, array_t e)