#include "jit-typeinfo.h"
Classes | |
struct | signature_cmp |
Public Types | |
typedef std::vector< jit_type * > | signature_vec |
Public Member Functions | |
jit_operation (const std::string &aname) | |
virtual | ~jit_operation (void) |
void | add_overload (const jit_function &func) |
void | add_overload (const jit_function &func, const signature_vec &args) |
const std::string & | name (void) const |
const jit_function & | overload (const signature_vec &types) const |
template<typename ... Args> | |
const jit_function & | overload (jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
const jit_function & | overload (signature_vec &args, jit_type *arg1, Args... other_args) const |
jit_type * | result (const signature_vec &types) const |
template<typename ... Args> | |
jit_type * | result (jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
jit_type * | result (signature_vec &args, jit_type *arg1, Args... other_args) const |
void | stash_name (const std::string &aname) |
Protected Member Functions | |
virtual jit_function * | generate (const signature_vec &types) const |
Private Types | |
typedef std::map< const signature_vec *, jit_function *, signature_cmp > | generated_map |
Private Member Functions | |
const jit_function & | do_generate (const signature_vec &types) const |
Array< octave_idx_type > | to_idx (const signature_vec &types) const |
Private Attributes | |
generated_map | m_generated |
std::string | m_name |
std::vector< Array< jit_function > > | m_overloads |
Definition at line 351 of file jit-typeinfo.h.
|
private |
Definition at line 433 of file jit-typeinfo.h.
typedef std::vector<jit_type *> octave::jit_operation::signature_vec |
Definition at line 359 of file jit-typeinfo.h.
|
inline |
Definition at line 356 of file jit-typeinfo.h.
|
virtual |
Definition at line 801 of file jit-typeinfo.cc.
References m_generated.
|
inline |
Definition at line 363 of file jit-typeinfo.h.
References octave::jit_function::arguments().
Referenced by octave::jit_typeinfo::jit_typeinfo(), octave::jit_typeinfo::add_print(), octave::jit_typeinfo::register_generic(), and octave::jit_typeinfo::register_intrinsic().
void octave::jit_operation::add_overload | ( | const jit_function & | func, |
const signature_vec & | args | ||
) |
|
private |
Definition at line 896 of file jit-typeinfo.cc.
References find(), generate(), and m_generated.
|
protectedvirtual |
Reimplemented in octave::jit_index_operation.
Definition at line 914 of file jit-typeinfo.cc.
Referenced by do_generate().
|
inline |
Definition at line 413 of file jit-typeinfo.h.
const jit_function& octave::jit_operation::overload | ( | const signature_vec & | types | ) | const |
|
inline |
Definition at line 382 of file jit-typeinfo.h.
|
inline |
Definition at line 374 of file jit-typeinfo.h.
|
inline |
Definition at line 390 of file jit-typeinfo.h.
References octave::jit_function::result().
Referenced by octave::jit_call::infer().
|
inline |
Definition at line 405 of file jit-typeinfo.h.
|
inline |
Definition at line 397 of file jit-typeinfo.h.
|
inline |
Definition at line 415 of file jit-typeinfo.h.
|
private |
Definition at line 873 of file jit-typeinfo.cc.
|
mutableprivate |
Definition at line 435 of file jit-typeinfo.h.
Referenced by ~jit_operation(), and do_generate().
|
private |
Definition at line 439 of file jit-typeinfo.h.
|
private |
Definition at line 437 of file jit-typeinfo.h.