GNU Octave  4.0.0
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 | Macros | Enumerations | Functions | Variables
ov-base.h File Reference
#include <cstdlib>
#include <iosfwd>
#include <list>
#include <string>
#include "Range.h"
#include "data-conv.h"
#include "mx-base.h"
#include "str-vec.h"
#include "error.h"
#include "oct-hdf5-id.h"
Include dependency graph for ov-base.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  class_to_btyp< T >
 
struct  class_to_btyp< bool >
 
struct  class_to_btyp< char >
 
struct  class_to_btyp< Complex >
 
struct  class_to_btyp< double >
 
struct  class_to_btyp< float >
 
struct  class_to_btyp< FloatComplex >
 
struct  class_to_btyp< octave_int16 >
 
struct  class_to_btyp< octave_int32 >
 
struct  class_to_btyp< octave_int64 >
 
struct  class_to_btyp< octave_int8 >
 
struct  class_to_btyp< octave_uint16 >
 
struct  class_to_btyp< octave_uint32 >
 
struct  class_to_btyp< octave_uint64 >
 
struct  class_to_btyp< octave_uint8 >
 
class  octave_base_value
 
class  octave_base_value::type_conv_info
 

Macros

#define DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA   DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(virtual)
 
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA   DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
 
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(VIRTUAL)
 
#define DEF_CLASS_TO_BTYP(CLASS, BTYP)
 
#define DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(t, n, c)
 

Enumerations

enum  builtin_type_t {
  btyp_double, btyp_float, btyp_complex, btyp_float_complex,
  btyp_int8, btyp_int16, btyp_int32, btyp_int64,
  btyp_uint8, btyp_uint16, btyp_uint32, btyp_uint64,
  btyp_bool, btyp_char, btyp_struct, btyp_cell,
  btyp_func_handle, btyp_unknown, btyp_num_types = btyp_unknown
}
 

Functions

bool btyp_isarray (builtin_type_t btyp)
 
bool btyp_isfloat (builtin_type_t btyp)
 
bool btyp_isinteger (builtin_type_t btyp)
 
bool btyp_isnumeric (builtin_type_t btyp)
 
OCTINTERP_API builtin_type_t btyp_mixed_numeric (builtin_type_t x, builtin_type_t y)
 
OCTINTERP_API bool called_from_builtin (void)
 
OCTINTERP_API string_vector get_builtin_classes (void)
 
OCTINTERP_API octave_value make_idx_args (const std::string &type, const std::list< octave_value_list > &idx, const std::string &who)
 

Variables

OCTINTERP_API std::string btyp_class_name [btyp_num_types]
 
OCTINTERP_API bool Vsparse_auto_mutate
 

Macro Definition Documentation

#define DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA   DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(virtual)

Definition at line 145 of file ov-base.h.

#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA   DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)

Definition at line 142 of file ov-base.h.

#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (   VIRTUAL)
Value:
public: \
VIRTUAL int type_id (void) const { return t_id; } \
VIRTUAL std::string type_name (void) const { return t_name; } \
VIRTUAL std::string class_name (void) const { return c_name; } \
static int static_type_id (void) { return t_id; } \
static std::string static_type_name (void) { return t_name; } \
static std::string static_class_name (void) { return c_name; } \
static void register_type (void); \
\
private: \
static int t_id; \
static const std::string t_name; \
static const std::string c_name;

Definition at line 148 of file ov-base.h.

#define DEF_CLASS_TO_BTYP (   CLASS,
  BTYP 
)
Value:
template <> \
{ static const builtin_type_t btyp = BTYP; }
builtin_type_t
Definition: ov-base.h:59

Definition at line 119 of file ov-base.h.

#define DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA (   t,
  n,
 
)
Value:
int t::t_id (-1); \
const std::string t::t_name (n); \
const std::string t::c_name (c); \
void t::register_type (void) \
{ \
static t exemplar; \
octave_value v (&exemplar, true); \
t_id = octave_value_typeinfo::register_type (t::t_name, t::c_name, v); \
}
static int register_type(const std::string &, const std::string &, const octave_value &)
Definition: ov-typeinfo.cc:64
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))

Definition at line 164 of file ov-base.h.

Enumeration Type Documentation

Enumerator
btyp_double 
btyp_float 
btyp_complex 
btyp_float_complex 
btyp_int8 
btyp_int16 
btyp_int32 
btyp_int64 
btyp_uint8 
btyp_uint16 
btyp_uint32 
btyp_uint64 
btyp_bool 
btyp_char 
btyp_struct 
btyp_cell 
btyp_func_handle 
btyp_unknown 
btyp_num_types 

Definition at line 59 of file ov-base.h.

Function Documentation

bool btyp_isarray ( builtin_type_t  btyp)
inline

Definition at line 97 of file ov-base.h.

References btyp_char.

Referenced by build_sup_table().

bool btyp_isfloat ( builtin_type_t  btyp)
inline

Definition at line 94 of file ov-base.h.

References btyp_float_complex.

bool btyp_isinteger ( builtin_type_t  btyp)
inline

Definition at line 91 of file ov-base.h.

References btyp_int8, and btyp_uint64.

Referenced by build_sup_table().

bool btyp_isnumeric ( builtin_type_t  btyp)
inline

Definition at line 88 of file ov-base.h.

References btyp_uint64.

OCTINTERP_API builtin_type_t btyp_mixed_numeric ( builtin_type_t  x,
builtin_type_t  y 
)
OCTINTERP_API bool called_from_builtin ( void  )
OCTINTERP_API string_vector get_builtin_classes ( void  )
OCTINTERP_API octave_value make_idx_args ( const std::string &  type,
const std::list< octave_value_list > &  idx,
const std::string &  who 
)

Variable Documentation

OCTINTERP_API std::string btyp_class_name[btyp_num_types]

Definition at line 83 of file ov-base.cc.

Referenced by get_builtin_classes(), get_dispatch_type(), and make_fcn_handle().

OCTINTERP_API bool Vsparse_auto_mutate