OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Private Attributes | List of all members
client::code_gen::requirements Struct Reference

#include <requirements.hpp>

Public Types

typedef bool result_type
 

Public Member Functions

template<typename ErrorHandler >
 requirements (ErrorHandler &error_handler_)
 
bool operator() (ast::nil)
 
bool operator() (unsigned int x)
 
bool operator() (double x)
 
bool operator() (bool x)
 
bool operator() (ast::quoted_string const &x)
 
bool operator() (ast::operation const &x)
 
bool operator() (ast::unary const &x)
 
bool operator() (ast::identifier const &x)
 
bool operator() (ast::function_call const &x)
 
bool operator() (ast::expression const &x)
 
std::set< std::string > variables ()
 
std::set< std::string > functions ()
 

Private Attributes

boost::function< void(int tag,
std::string const &what)> 
error_handler
 
std::set< std::string > variables_
 
std::set< std::string > functions_
 

Detailed Description

Definition at line 21 of file requirements.hpp.

Member Typedef Documentation

Definition at line 23 of file requirements.hpp.

Constructor & Destructor Documentation

template<typename ErrorHandler >
client::code_gen::requirements::requirements ( ErrorHandler &  error_handler_)
inline

Definition at line 26 of file requirements.hpp.

Member Function Documentation

std::set<std::string> client::code_gen::requirements::functions ( )
inline

Definition at line 87 of file requirements.hpp.

References functions_.

Referenced by Expression::parse().

bool client::code_gen::requirements::operator() ( ast::nil  )
inline

Definition at line 37 of file requirements.hpp.

bool client::code_gen::requirements::operator() ( unsigned int  x)
inline

Definition at line 38 of file requirements.hpp.

bool client::code_gen::requirements::operator() ( double  x)
inline

Definition at line 39 of file requirements.hpp.

bool client::code_gen::requirements::operator() ( bool  x)
inline

Definition at line 40 of file requirements.hpp.

bool client::code_gen::requirements::operator() ( ast::quoted_string const &  x)
inline

Definition at line 41 of file requirements.hpp.

bool client::code_gen::requirements::operator() ( ast::operation const &  x)
inline

Definition at line 43 of file requirements.hpp.

References client::ast::operation::operand_.

bool client::code_gen::requirements::operator() ( ast::unary const &  x)
inline

Definition at line 49 of file requirements.hpp.

References client::ast::unary::operand_.

bool client::code_gen::requirements::operator() ( ast::identifier const &  x)
inline

Definition at line 55 of file requirements.hpp.

References client::ast::identifier::name, and variables_.

bool client::code_gen::requirements::operator() ( ast::function_call const &  x)
inline

Definition at line 61 of file requirements.hpp.

References arg(), client::ast::function_call::args, client::ast::function_call::function_name, functions_, and client::ast::identifier::name.

Here is the call graph for this function:

bool client::code_gen::requirements::operator() ( ast::expression const &  x)
inline
std::set<std::string> client::code_gen::requirements::variables ( )
inline

Definition at line 86 of file requirements.hpp.

References variables_.

Referenced by Expression::parse().

Member Data Documentation

boost::function< void(int tag, std::string const& what)> client::code_gen::requirements::error_handler
private

Definition at line 93 of file requirements.hpp.

std::set<std::string> client::code_gen::requirements::functions_
private

Definition at line 96 of file requirements.hpp.

Referenced by functions(), and operator()().

std::set<std::string> client::code_gen::requirements::variables_
private

Definition at line 95 of file requirements.hpp.

Referenced by operator()(), and variables().


The documentation for this struct was generated from the following file: