GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
jit_operation Class Reference

#include "jit-typeinfo.h"

Inheritance diagram for jit_operation:
Inheritance graph
[legend]
Collaboration diagram for jit_operation:
Collaboration graph
[legend]

Classes

struct  signature_cmp
 

Public Types

typedef std::vector< jit_type * > signature_vec
 

Public Member Functions

virtual ~jit_operation (void)
 
void add_overload (const jit_function &func)
 
void add_overload (const jit_function &func, const signature_vec &args)
 
const std::stringname (void) const
 
const jit_functionoverload (const signature_vec &types) const
 
const jit_functionoverload (jit_type *arg0) const
 
const jit_functionoverload (jit_type *arg0, jit_type *arg1) const
 
const jit_functionoverload (jit_type *arg0, jit_type *arg1, jit_type *arg2) const
 
jit_typeresult (const signature_vec &types) const
 
jit_typeresult (jit_type *arg0) const
 
jit_typeresult (jit_type *arg0, jit_type *arg1) const
 
jit_typeresult (jit_type *arg0, jit_type *arg1, jit_type *arg2) const
 
void stash_name (const std::string &aname)
 

Protected Member Functions

virtual jit_functiongenerate (const signature_vec &types) const
 

Private Types

typedef std::map< const
signature_vec *, jit_function
*, signature_cmp
generated_map
 

Private Member Functions

const jit_functiondo_generate (const signature_vec &types) const
 
Array< octave_idx_typeto_idx (const signature_vec &types) const
 

Private Attributes

generated_map generated
 
std::string mname
 
std::vector< Array
< jit_function > > 
overloads
 

Detailed Description

Definition at line 319 of file jit-typeinfo.h.

Member Typedef Documentation

Definition at line 373 of file jit-typeinfo.h.

Definition at line 324 of file jit-typeinfo.h.

Constructor & Destructor Documentation

jit_operation::~jit_operation ( void  )
virtual

Definition at line 775 of file jit-typeinfo.cc.

References generated.

Member Function Documentation

void jit_operation::add_overload ( const jit_function func)
inline
void jit_operation::add_overload ( const jit_function func,
const signature_vec args 
)
const jit_function & jit_operation::do_generate ( const signature_vec types) const
private

Definition at line 864 of file jit-typeinfo.cc.

References find(), generate(), and generated.

Referenced by overload().

jit_function * jit_operation::generate ( const signature_vec types) const
protectedvirtual

Reimplemented in jit_index_operation.

Definition at line 882 of file jit-typeinfo.cc.

Referenced by do_generate().

const std::string& jit_operation::name ( void  ) const
inline

Definition at line 357 of file jit-typeinfo.h.

const jit_function & jit_operation::overload ( const signature_vec types) const
const jit_function& jit_operation::overload ( jit_type arg0) const
inline

Definition at line 350 of file jit-typeinfo.h.

const jit_function& jit_operation::overload ( jit_type arg0,
jit_type arg1 
) const
inline

Definition at line 351 of file jit-typeinfo.h.

const jit_function& jit_operation::overload ( jit_type arg0,
jit_type arg1,
jit_type arg2 
) const
inline

Definition at line 352 of file jit-typeinfo.h.

jit_type* jit_operation::result ( const signature_vec types) const
inline

Definition at line 338 of file jit-typeinfo.h.

Referenced by jit_call::infer().

jit_type* jit_operation::result ( jit_type arg0) const
inline

Definition at line 350 of file jit-typeinfo.h.

jit_type* jit_operation::result ( jit_type arg0,
jit_type arg1 
) const
inline

Definition at line 351 of file jit-typeinfo.h.

jit_type* jit_operation::result ( jit_type arg0,
jit_type arg1,
jit_type arg2 
) const
inline

Definition at line 352 of file jit-typeinfo.h.

void jit_operation::stash_name ( const std::string aname)
inline

Definition at line 359 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

Array< octave_idx_type > jit_operation::to_idx ( const signature_vec types) const
private

Definition at line 842 of file jit-typeinfo.cc.

References max(), and numel().

Referenced by add_overload(), and overload().

Member Data Documentation

generated_map jit_operation::generated
mutableprivate

Definition at line 375 of file jit-typeinfo.h.

Referenced by do_generate(), and ~jit_operation().

std::string jit_operation::mname
private

Definition at line 379 of file jit-typeinfo.h.

std::vector<Array<jit_function> > jit_operation::overloads
private

Definition at line 377 of file jit-typeinfo.h.

Referenced by add_overload(), and overload().


The documentation for this class was generated from the following files: