#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 (signature_vec &args, jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
const jit_function & | overload (jit_type *arg1, Args... other_args) const |
jit_type * | result (const signature_vec &types) const |
template<typename ... Args> | |
jit_type * | result (signature_vec &args, jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
jit_type * | result (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 350 of file jit-typeinfo.h.
|
private |
Definition at line 432 of file jit-typeinfo.h.
Definition at line 358 of file jit-typeinfo.h.
|
inline |
Definition at line 355 of file jit-typeinfo.h.
|
virtual |
Definition at line 805 of file jit-typeinfo.cc.
References m_generated.
|
inline |
Definition at line 362 of file jit-typeinfo.h.
References octave::jit_function::arguments().
Referenced by octave::jit_typeinfo::add_print(), octave::jit_typeinfo::jit_typeinfo(), 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 901 of file jit-typeinfo.cc.
References find(), generate(), and m_generated.
|
protectedvirtual |
Reimplemented in octave::jit_index_operation.
Definition at line 919 of file jit-typeinfo.cc.
Referenced by do_generate().
|
inline |
Definition at line 412 of file jit-typeinfo.h.
const jit_function& octave::jit_operation::overload | ( | const signature_vec & | types | ) | const |
|
inline |
Definition at line 373 of file jit-typeinfo.h.
|
inline |
Definition at line 381 of file jit-typeinfo.h.
|
inline |
Definition at line 389 of file jit-typeinfo.h.
References octave::jit_function::result().
Referenced by octave::jit_call::infer().
|
inline |
Definition at line 396 of file jit-typeinfo.h.
|
inline |
Definition at line 404 of file jit-typeinfo.h.
|
inline |
Definition at line 414 of file jit-typeinfo.h.
|
private |
Definition at line 878 of file jit-typeinfo.cc.
|
mutableprivate |
Definition at line 434 of file jit-typeinfo.h.
Referenced by do_generate(), and ~jit_operation().
|
private |
Definition at line 438 of file jit-typeinfo.h.
|
private |
Definition at line 436 of file jit-typeinfo.h.