KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SIM_LIBRARY Class Referenceabstract

#include <sim_library.h>

Inheritance diagram for SIM_LIBRARY:
SIM_LIBRARY_IBIS SIM_LIBRARY_SPICE

Classes

struct  MODEL
 

Public Member Functions

virtual ~SIM_LIBRARY ()=default
 
 SIM_LIBRARY ()=default
 
virtual void ReadFile (const wxString &aFilePath, REPORTER &aReporter)=0
 Read library from a source file.
 
SIM_MODELFindModel (const std::string &aModelName) const
 
std::vector< MODELGetModels () const
 
std::string GetFilePath () const
 

Static Public Member Functions

static std::unique_ptr< SIM_LIBRARYCreate (const wxString &aFilePath, bool aForceFullParse, REPORTER &aReporter, const std::function< wxString(const wxString &, const wxString &)> &aResolver)
 Read library from a source file (e.g.
 

Static Public Attributes

static constexpr auto LIBRARY_FIELD = "Sim.Library"
 
static constexpr auto NAME_FIELD = "Sim.Name"
 

Protected Attributes

std::vector< std::string > m_modelNames
 
std::vector< std::unique_ptr< SIM_MODEL > > m_models
 
std::function< wxString(const wxString &, const wxString &)> m_pathResolver
 
std::string m_filePath
 

Detailed Description

Definition at line 32 of file sim_library.h.

Constructor & Destructor Documentation

◆ ~SIM_LIBRARY()

virtual SIM_LIBRARY::~SIM_LIBRARY ( )
virtualdefault

◆ SIM_LIBRARY()

SIM_LIBRARY::SIM_LIBRARY ( )
default

Member Function Documentation

◆ Create()

std::unique_ptr< SIM_LIBRARY > SIM_LIBRARY::Create ( const wxString &  aFilePath,
bool  aForceFullParse,
REPORTER aReporter,
const std::function< wxString(const wxString &, const wxString &)> &  aResolver 
)
static

Read library from a source file (e.g.

in Spice format), and return a newly constructed object of an appropriate subclass.

Parameters
aFilePathPath to the file.
aReporterThe reporter the library reports to
aForceFullParseCaller requires fully parsed models. If false fallback models can be generarted for performance.
Returns
The library loaded in a newly constructed object.

Definition at line 33 of file sim_library.cpp.

References library.

Referenced by SIM_LIB_MGR::CreateModel(), and SIM_LIB_MGR::SetLibrary().

◆ FindModel()

SIM_MODEL * SIM_LIBRARY::FindModel ( const std::string &  aModelName) const

Definition at line 56 of file sim_library.cpp.

References m_modelNames, and m_models.

Referenced by SPICE_MODEL_PARSER::ReadModel(), and SPICE_MODEL_PARSER::ReadType().

◆ GetFilePath()

std::string SIM_LIBRARY::GetFilePath ( ) const
inline

Definition at line 74 of file sim_library.h.

References m_filePath.

◆ GetModels()

std::vector< SIM_LIBRARY::MODEL > SIM_LIBRARY::GetModels ( ) const

Definition at line 70 of file sim_library.cpp.

References m_modelNames, and m_models.

◆ ReadFile()

void SIM_LIBRARY::ReadFile ( const wxString &  aFilePath,
REPORTER aReporter 
)
pure virtual

Read library from a source file.

Must be in the format appropriate to the subclass, e.g. Spice for SIM_LIBRARY_SPICE).

Parameters
aFilePathPath to the file.
Exceptions
IO_ERRORon read or parsing error.

Implemented in SIM_LIBRARY_IBIS, and SIM_LIBRARY_SPICE.

Definition at line 50 of file sim_library.cpp.

References m_filePath.

Referenced by SIM_LIBRARY_IBIS::ReadFile(), and SIM_LIBRARY_SPICE::ReadFile().

Member Data Documentation

◆ LIBRARY_FIELD

constexpr auto SIM_LIBRARY::LIBRARY_FIELD = "Sim.Library"
staticconstexpr

◆ m_filePath

std::string SIM_LIBRARY::m_filePath
protected

Definition at line 82 of file sim_library.h.

Referenced by GetFilePath(), and ReadFile().

◆ m_modelNames

std::vector<std::string> SIM_LIBRARY::m_modelNames
protected

◆ m_models

std::vector<std::unique_ptr<SIM_MODEL> > SIM_LIBRARY::m_models
protected

◆ m_pathResolver

std::function<wxString( const wxString&, const wxString& )> SIM_LIBRARY::m_pathResolver
protected

Definition at line 80 of file sim_library.h.

Referenced by SPICE_LIBRARY_PARSER::parseFile().

◆ NAME_FIELD


The documentation for this class was generated from the following files: