stlab.adobe.com Adobe Systems Incorporated
virtual_machine.hpp
Go to the documentation of this file.
1 /*
2  Copyright 2005-2007 Adobe Systems Incorporated
3  Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
4  or a copy at http://stlab.adobe.com/licenses.html)
5 */
6 
7 /*************************************************************************************************/
8 
9 #ifndef ADOBE_VIRTUAL_MACHINE_HPP
10 #define ADOBE_VIRTUAL_MACHINE_HPP
11 
12 #include <adobe/config.hpp>
13 
14 #include <bitset>
15 #include <vector>
16 
17 #define BOOST_FUNCTION_NO_DEPRECATED
18 #include <boost/function.hpp>
19 #include <boost/operators.hpp>
20 
21 #include <adobe/array_fwd.hpp>
22 #include <adobe/name_fwd.hpp>
23 #include <adobe/dictionary_fwd.hpp>
24 
25 #include <adobe/move.hpp>
26 
27 #include <adobe/any_regular.hpp>
28 
29 /*************************************************************************************************/
30 
31 namespace adobe {
32 
33 /*************************************************************************************************/
34 
36 {
37  public:
39 
44  typedef any_regular_t(numeric_index_lookup_signature_t)(const adobe::any_regular_t&, std::size_t index);
45 
51 
52 #if !defined(ADOBE_NO_DOCUMENTATION)
55 
56  virtual_machine_t& operator = (const virtual_machine_t& rhs);
57 
59 #endif
60 
61  void evaluate(const expression_t& expression);
62 #if 0
63  void evaluate_named_arguments(const dictionary_t&);
64 #endif
65 
66  const any_regular_t& back() const;
68  void pop_back();
69 
70  void set_variable_lookup(const variable_lookup_t&);
71  void set_array_function_lookup(const array_function_lookup_t&);
72  void set_dictionary_function_lookup(const dictionary_function_lookup_t&);
73  void set_named_index_lookup(const named_index_lookup_t&);
74  void set_numeric_index_lookup(const numeric_index_lookup_t&);
75 
76  class implementation_t;
77  private:
78 
79  implementation_t* object_m;
80 };
81 
82 /*************************************************************************************************/
83 
84 } // namespace adobe
85 
86 /*************************************************************************************************/
87 
88 #endif
89 
90 /*************************************************************************************************/
void set_dictionary_function_lookup(const dictionary_function_lookup_t &)
any_regular_t( dictionary_function_lookup_signature_t)(name_t, const dictionary_t &)
boost::function< named_index_lookup_signature_t > named_index_lookup_t
version_1::any_regular_t any_regular_t
const any_regular_t & back() const
void set_array_function_lookup(const array_function_lookup_t &)
void evaluate(const expression_t &expression)
void set_named_index_lookup(const named_index_lookup_t &)
void set_variable_lookup(const variable_lookup_t &)
boost::function< array_function_lookup_signature_t > array_function_lookup_t
any_regular_t( variable_lookup_signature_t)(name_t)
any_regular_t( numeric_index_lookup_signature_t)(const adobe::any_regular_t &, std::size_t index)
any_regular_t( named_index_lookup_signature_t)(const adobe::any_regular_t &, adobe::name_t index)
any_regular_t( array_function_lookup_signature_t)(name_t, const array_t &)
boost::function< dictionary_function_lookup_signature_t > dictionary_function_lookup_t
void set_numeric_index_lookup(const numeric_index_lookup_t &)
boost::function< variable_lookup_signature_t > variable_lookup_t
A runtime polymorphic type similar to boost::any which can hold any type which models Regular...
boost::function< numeric_index_lookup_signature_t > numeric_index_lookup_t

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google