![]() |
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.