35 #ifndef _DATABASE_VIRTUAL_MACHINE_SUBROUTINE_FRAME_HPP_INCLUDED
36 #define _DATABASE_VIRTUAL_MACHINE_SUBROUTINE_FRAME_HPP_INCLUDED
42 #include <boost/shared_ptr.hpp>
71 void init(
const std::vector<std::string>& paramnames_)
82 throw std::runtime_error(
"too many parameters passed to subroutine");
92 throw std::runtime_error(
"too few parameters passed to subroutine");
Defines the structure holding a set of tuples (database results, transaction input, suroutine parameters) and providing an iterator on it.
void clear()
Clear current subroutine frame (start initialization)
Definition: subroutineFrame.hpp:64
ValueTupleSetR getParameters() const
Get the parameters of a called subroutine as value tuple set.
Definition: subroutineFrame.hpp:88
Structure for addressing the parameters passed to a subroutine by name.
Definition: subroutineFrame.hpp:50
boost::shared_ptr< ValueTupleSet > ValueTupleSetR
Definition: valueTupleSet.hpp:218
void init(const std::vector< std::string > ¶mnames_)
Initialize parameter names by the parameters defined for a subroutine.
Definition: subroutineFrame.hpp:71
Forward declaration.
Definition: variant.hpp:65
Set of tuples (database results, transaction input, etc.)
Definition: valueTupleSet.hpp:50
SubroutineFrame(const std::vector< std::string > ¶mnames_)
Constructor.
Definition: subroutineFrame.hpp:56
std::vector< std::string > m_paramnames
parameter names
Definition: subroutineFrame.hpp:100
SubroutineFrame(const SubroutineFrame &o)
Copy constructor.
Definition: subroutineFrame.hpp:59
SubroutineFrame()
Default constructor.
Definition: subroutineFrame.hpp:54
void push(const types::Variant &p)
Push a parameter value (in the order of the parameter names)
Definition: subroutineFrame.hpp:78
std::vector< types::Variant > m_paramvalues
parameter values (parallel array to m_paramnames)
Definition: subroutineFrame.hpp:101