MCPcopy Create free account
hub / github.com/ChaiScript/ChaiScript / Dispatch_State

Class Dispatch_State

include/chaiscript/dispatchkit/dispatchkit.hpp:1512–1558  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1510 };
1511
1512 class Dispatch_State
1513 {
1514 public:
1515 explicit Dispatch_State(Dispatch_Engine &t_engine)
1516 : m_engine(t_engine),
1517 m_stack_holder(t_engine.get_stack_holder()),
1518 m_conversions(t_engine.conversions(), t_engine.conversions().conversion_saves())
1519 {
1520 }
1521
1522 Dispatch_Engine *operator->() const {
1523 return &m_engine.get();
1524 }
1525
1526 Dispatch_Engine &operator*() const {
1527 return m_engine.get();
1528 }
1529
1530 Stack_Holder &stack_holder() const {
1531 return m_stack_holder.get();
1532 }
1533
1534 const Type_Conversions_State &conversions() const {
1535 return m_conversions;
1536 }
1537
1538 Type_Conversions::Conversion_Saves &conversion_saves() const {
1539 return m_conversions.saves();
1540 }
1541
1542 Boxed_Value &add_get_object(const std::string &t_name, Boxed_Value obj) const {
1543 return m_engine.get().add_get_object(t_name, std::move(obj), m_stack_holder.get());
1544 }
1545
1546 void add_object(const std::string &t_name, Boxed_Value obj) const {
1547 return m_engine.get().add_object(t_name, std::move(obj), m_stack_holder.get());
1548 }
1549
1550 Boxed_Value get_object(const std::string &t_name, std::atomic_uint_fast32_t &t_loc) const {
1551 return m_engine.get().get_object(t_name, t_loc, m_stack_holder.get());
1552 }
1553
1554 private:
1555 std::reference_wrapper<Dispatch_Engine> m_engine;
1556 std::reference_wrapper<Stack_Holder> m_stack_holder;
1557 Type_Conversions_State m_conversions;
1558 };
1559 }
1560}
1561

Callers 2

do_evalMethod · 0.85
evalMethod · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected