![]() |
NEURON
|
Visitor for printing C++ code compatible with legacy api of CoreNEURON More...
#include <algorithm>
#include <cmath>
#include <ctime>
#include <numeric>
#include <ostream>
#include <string>
#include <string_view>
#include <utility>
#include "codegen/codegen_info.hpp"
#include "codegen/codegen_naming.hpp"
#include "printer/code_printer.hpp"
#include "symtab/symbol_table.hpp"
#include "utils/logger.hpp"
#include "visitors/ast_visitor.hpp"
Go to the source code of this file.
Classes | |
class | nmodl::codegen::IndexVariableInfo |
Helper to represent information about index/int variables. More... | |
class | nmodl::codegen::ShadowUseStatement |
Represents ion write statement during code generation. More... | |
class | nmodl::codegen::CodegenCppVisitor |
Visitor for printing C++ code compatible with legacy api of CoreNEURON More... | |
Namespaces | |
nmodl | |
encapsulates code generation backend implementations | |
nmodl::codegen | |
Enumerations | |
enum class | nmodl::codegen::BlockType { nmodl::codegen::Initial , nmodl::codegen::Constructor , nmodl::codegen::Destructor , nmodl::codegen::Equation , nmodl::codegen::State , nmodl::codegen::Watch , nmodl::codegen::NetReceive , nmodl::codegen::BeforeAfter , nmodl::codegen::BlockTypeEnd } |
Helper to represent various block types. More... | |
enum class | nmodl::codegen::MemberType { nmodl::codegen::index , nmodl::codegen::range , nmodl::codegen::global , nmodl::codegen::thread } |
Helper to represent various variables types. More... | |
enum class | nmodl::codegen::CppObjectSpecifier { nmodl::codegen::Inline , nmodl::codegen::Static , nmodl::codegen::Virtual , nmodl::codegen::Explicit , nmodl::codegen::Friend , nmodl::codegen::Constexpr , nmodl::codegen::Extern , nmodl::codegen::ExternC , nmodl::codegen::ThreadLocal , nmodl::codegen::Const , nmodl::codegen::Volatile } |
various specifiers (mostly for function codegen) More... | |
Functions | |
std::string | nmodl::codegen::get_name (ast::Ast const *sym) |
std::string | nmodl::codegen::get_name (const std::shared_ptr< symtab::Symbol > &sym) |
std::string | nmodl::codegen::get_name (const IndexVariableInfo &var) |
template<class T > | |
int | nmodl::codegen::get_index_from_name (const std::vector< T > &variables, const std::string &name) |
int | nmodl::codegen::get_length (const std::shared_ptr< symtab::Symbol > &sym) |
int | nmodl::codegen::get_length (const IndexVariableInfo &var) |
template<class T > | |
int | nmodl::codegen::get_prefixsum_from_name (const std::vector< T > &variables, const std::string &name) |
Visitor for printing C++ code compatible with legacy api of CoreNEURON
Definition in file codegen_cpp_visitor.hpp.