NEURON
hocdec.h File Reference
#include "neuron/container/generic_data_handle.hpp"
#include "nrnapi.h"
#include "hocassrt.h"
#include "nrnassrt.h"
#include "wrap_sprintf.h"
#include <iostream>
#include <cstdint>
#include <cstring>
#include <vector>
#include "oc_ansi.h"

Go to the source code of this file.

Classes

union  Inst
 
struct  Arrayinfo
 
struct  Proc
 
struct  Symlist
 
struct  HocSymExtension
 
struct  Symbol
 
struct  cTemplate
 
union  Objectdata
 
struct  Object
 
struct  VoidFunc
 
struct  DoubScal
 
struct  DoubVec
 
struct  HocParmLimits
 
struct  HocStateTolerance
 
struct  HocParmUnits
 

Macros

#define INCLUDEHOCH   1
 
#define gargstr   hoc_gargstr
 
#define getarg   hoc_getarg
 
#define STOP   (Inst*) 0
 
#define NOTUSER   0
 
#define USERINT   1 /* For subtype */
 
#define USERDOUBLE   2
 
#define USERPROPERTY   3 /* for newcable non-range variables */
 
#define USERFLOAT   4
 
#define SYMBOL   7 /* for stack type */
 
#define OBJECTTMP   8 /* temporary object on stack */
 
#define STKOBJ_UNREF   9 /* already unreffed temporary object on stack */
 
#define DYNAMICUNITS   10 /* {modern, legacy} units pair */
 
#define CPLUSOBJECT   16 /* c++ registered class */
 
#define JAVAOBJECT   32 /* c++ registered class */
 
#define OBJECTALIAS   1
 
#define VARALIAS   2
 
#define OPVAL(sym)   hoc_objectdata[sym->u.oboff].pval
 
#define OPSTR(sym)   hoc_objectdata[sym->u.oboff].ppstr
 
#define OPOBJ(sym)   hoc_objectdata[sym->u.oboff].pobj
 
#define OPSECITM(sym)   hoc_objectdata[sym->u.oboff].psecitm
 
#define OPLIST(sym)   hoc_objectdata[sym->u.oboff].plist
 
#define OPARINFO(sym)   hoc_objectdata[sym->u.oboff + 1].arayinfo
 
#define IGNORE(arg)   arg
 
#define LINTUSE(arg)
 
#define Strcat   strcat
 
#define Strncat   strncat
 
#define Strcpy   strcpy
 
#define Strncpy   strncpy
 

Typedefs

typedef int(* Pfri) (void)
 
typedef void(* Pfrv) (void)
 
typedef double(* Pfrd) (void)
 
typedef struct Object **(* Pfro) (void)
 
typedef const char **(* Pfrs) (void)
 
typedef int(* Pfri_vp) (void *)
 
typedef void(* Pfrv_vp) (void *)
 
typedef double(* Pfrd_vp) (void *)
 
typedef struct Object **(* Pfro_vp) (void *)
 
typedef const char **(* Pfrs_vp) (void *)
 
typedef char * Upoint
 
using hoc_List = hoc_Item
 
using Datum = neuron::container::generic_data_handle
 Type of pdata in mechanisms. More...
 

Functions

bool is_array (const Symbol &sym)
 
Objectdatahoc_objectdata_save (void)
 
Objectdatahoc_objectdata_restore (Objectdata *)
 

Variables

Insthoc_progp
 
Insthoc_progbase
 
Insthoc_prog
 
Insthoc_prog_parse_recover
 
Insthoc_pc
 
Objectdatahoc_objectdata
 
Objectdatahoc_top_level_data
 
Objecthoc_thisobject
 
Symlisthoc_symlist
 
Symlisthoc_top_level_symlist
 
Symlisthoc_built_in_symlist
 
int hoc_usegui
 
int nrn_istty_
 

Macro Definition Documentation

◆ CPLUSOBJECT

#define CPLUSOBJECT   16 /* c++ registered class */

Definition at line 91 of file hocdec.h.

◆ DYNAMICUNITS

#define DYNAMICUNITS   10 /* {modern, legacy} units pair */

Definition at line 90 of file hocdec.h.

◆ gargstr

#define gargstr   hoc_gargstr

Definition at line 16 of file hocdec.h.

◆ getarg

#define getarg   hoc_getarg

Definition at line 17 of file hocdec.h.

◆ IGNORE

#define IGNORE (   arg)    arg

Definition at line 267 of file hocdec.h.

◆ INCLUDEHOCH

#define INCLUDEHOCH   1

Definition at line 2 of file hocdec.h.

◆ JAVAOBJECT

#define JAVAOBJECT   32 /* c++ registered class */

Definition at line 92 of file hocdec.h.

◆ LINTUSE

#define LINTUSE (   arg)

Definition at line 268 of file hocdec.h.

◆ NOTUSER

#define NOTUSER   0

Definition at line 82 of file hocdec.h.

◆ OBJECTALIAS

#define OBJECTALIAS   1

Definition at line 94 of file hocdec.h.

◆ OBJECTTMP

#define OBJECTTMP   8 /* temporary object on stack */

Definition at line 88 of file hocdec.h.

◆ OPARINFO

#define OPARINFO (   sym)    hoc_objectdata[sym->u.oboff + 1].arayinfo

Definition at line 239 of file hocdec.h.

◆ OPLIST

#define OPLIST (   sym)    hoc_objectdata[sym->u.oboff].plist

Definition at line 238 of file hocdec.h.

◆ OPOBJ

#define OPOBJ (   sym)    hoc_objectdata[sym->u.oboff].pobj

Definition at line 236 of file hocdec.h.

◆ OPSECITM

#define OPSECITM (   sym)    hoc_objectdata[sym->u.oboff].psecitm

Definition at line 237 of file hocdec.h.

◆ OPSTR

#define OPSTR (   sym)    hoc_objectdata[sym->u.oboff].ppstr

Definition at line 235 of file hocdec.h.

◆ OPVAL

#define OPVAL (   sym)    hoc_objectdata[sym->u.oboff].pval

Definition at line 234 of file hocdec.h.

◆ STKOBJ_UNREF

#define STKOBJ_UNREF   9 /* already unreffed temporary object on stack */

Definition at line 89 of file hocdec.h.

◆ STOP

#define STOP   (Inst*) 0

Definition at line 57 of file hocdec.h.

◆ Strcat

#define Strcat   strcat

Definition at line 269 of file hocdec.h.

◆ Strcpy

#define Strcpy   strcpy

Definition at line 271 of file hocdec.h.

◆ Strncat

#define Strncat   strncat

Definition at line 270 of file hocdec.h.

◆ Strncpy

#define Strncpy   strncpy

Definition at line 272 of file hocdec.h.

◆ SYMBOL

#define SYMBOL   7 /* for stack type */

Definition at line 87 of file hocdec.h.

◆ USERDOUBLE

#define USERDOUBLE   2

Definition at line 84 of file hocdec.h.

◆ USERFLOAT

#define USERFLOAT   4

Definition at line 86 of file hocdec.h.

◆ USERINT

#define USERINT   1 /* For subtype */

Definition at line 83 of file hocdec.h.

◆ USERPROPERTY

#define USERPROPERTY   3 /* for newcable non-range variables */

Definition at line 85 of file hocdec.h.

◆ VARALIAS

#define VARALIAS   2

Definition at line 95 of file hocdec.h.

Typedef Documentation

◆ Datum

Type of pdata in mechanisms.

Definition at line 144 of file hocdec.h.

◆ hoc_List

using hoc_List = hoc_Item

Definition at line 140 of file hocdec.h.

◆ Pfrd

typedef double(* Pfrd) (void)

Definition at line 32 of file hocdec.h.

◆ Pfrd_vp

typedef double(* Pfrd_vp) (void *)

Definition at line 38 of file hocdec.h.

◆ Pfri

typedef int(* Pfri) (void)

Definition at line 30 of file hocdec.h.

◆ Pfri_vp

typedef int(* Pfri_vp) (void *)

Definition at line 36 of file hocdec.h.

◆ Pfro

typedef struct Object**(* Pfro) (void)

Definition at line 32 of file hocdec.h.

◆ Pfro_vp

typedef struct Object**(* Pfro_vp) (void *)

Definition at line 38 of file hocdec.h.

◆ Pfrs

typedef const char**(* Pfrs) (void)

Definition at line 34 of file hocdec.h.

◆ Pfrs_vp

typedef const char**(* Pfrs_vp) (void *)

Definition at line 40 of file hocdec.h.

◆ Pfrv

typedef void(* Pfrv) (void)

Definition at line 31 of file hocdec.h.

◆ Pfrv_vp

typedef void(* Pfrv_vp) (void *)

Definition at line 37 of file hocdec.h.

◆ Upoint

typedef char* Upoint

Definition at line 80 of file hocdec.h.

Function Documentation

◆ hoc_objectdata_restore()

Objectdata* hoc_objectdata_restore ( Objectdata obdsav)

Definition at line 142 of file hoc_oop.cpp.

◆ hoc_objectdata_save()

Objectdata* hoc_objectdata_save ( void  )

Definition at line 132 of file hoc_oop.cpp.

◆ is_array()

bool is_array ( const Symbol sym)
inline

Definition at line 136 of file hocdec.h.

Variable Documentation

◆ hoc_built_in_symlist

Symlist* hoc_built_in_symlist
extern

Definition at line 28 of file symbol.cpp.

◆ hoc_objectdata

Objectdata* hoc_objectdata
extern

Definition at line 122 of file hoc_oop.cpp.

◆ hoc_pc

Inst* hoc_pc
extern

Definition at line 78 of file code.cpp.

◆ hoc_prog

Inst * hoc_prog

Definition at line 223 of file hocdec.h.

◆ hoc_prog_parse_recover

Inst * hoc_prog_parse_recover

Definition at line 223 of file hocdec.h.

◆ hoc_progbase

Inst * hoc_progbase

Definition at line 223 of file hocdec.h.

◆ hoc_progp

Inst* hoc_progp
extern

Definition at line 77 of file code.cpp.

◆ hoc_symlist

Symlist* hoc_symlist
extern

Definition at line 34 of file symbol.cpp.

◆ hoc_thisobject

Object* hoc_thisobject
extern

Definition at line 121 of file hoc_oop.cpp.

◆ hoc_top_level_data

Objectdata* hoc_top_level_data
extern

Definition at line 123 of file hoc_oop.cpp.

◆ hoc_top_level_symlist

Symlist* hoc_top_level_symlist
extern

Definition at line 16 of file symdir.cpp.

◆ hoc_usegui

int hoc_usegui
extern

Definition at line 121 of file hoc.cpp.

◆ nrn_istty_

int nrn_istty_
extern

Definition at line 778 of file hoc.cpp.