11#include <wx/filename.h>
108 static std::map<T, std::string>&
GetMap()
110 static_assert( std::is_enum_v<T>,
"Template parameter T must be an enum type" );
112 static std::map<T, std::string> map = []()
114 std::map<T, std::string>
result;
116 if constexpr( std::is_same_v<T, ODB_POLARITY> )
122 if constexpr( std::is_same_v<T, ODB_CONTEXT> )
128 if constexpr( std::is_same_v<T, ODB_TYPE> )
148 if constexpr( std::is_same_v<T, ODB_SUBTYPE> )
161 if constexpr( std::is_same_v<T, ODB_DIELECTRIC_TYPE> )
168 if constexpr( std::is_same_v<T, ODB_FID_TYPE> )
186 auto it = map.find( value );
187 if( it != map.end() )
193 throw std::out_of_range(
"Enum value not found in map" );
283 template <
typename T>
344 ODB_DRILL_TOOLS(
const wxString& aUnits,
const wxString& aThickness =
"0",
345 const wxString& aUserParams = wxEmptyString );
Information pertinent to a Pcbnew printed circuit board.
Store all of the related footprint information found in a netlist.
static std::map< T, std::string > & GetMap()
void CreateFile(const wxString &aFileName)
ODB_FILE_WRITER & operator=(ODB_FILE_WRITER const &)=delete
ODB_TREE_WRITER & m_treeWriter
ODB_FILE_WRITER(ODB_FILE_WRITER &&)=delete
virtual ~ODB_FILE_WRITER()
ODB_FILE_WRITER(ODB_TREE_WRITER &aTreeWriter, const wxString &aFileName)
ODB_FILE_WRITER & operator=(ODB_FILE_WRITER &&)=delete
ODB_FILE_WRITER(ODB_FILE_WRITER const &)=delete
std::ostream & GetStream()
ARRAY_PROXY(ARRAY_PROXY &&)=delete
ARRAY_PROXY & operator=(ARRAY_PROXY const &)=delete
ARRAY_PROXY & operator=(ARRAY_PROXY &&)=delete
ARRAY_PROXY(ARRAY_PROXY const &)=delete
ARRAY_PROXY(ODB_TEXT_WRITER &aWriter, const std::string &aStr)
ODB_TEXT_WRITER & m_writer
void WriteEquationLine(const std::string &var, int value)
ARRAY_PROXY MakeArrayProxy(const std::string &aStr)
virtual ~ODB_TEXT_WRITER()
void write_line_enum(const std::string &var, const T &value)
ODB_TEXT_WRITER(std::ostream &aStream)
void BeginArray(const std::string &a)
const wxString GetRootPath() const
void CreateEntityDirectory(const wxString &aPareDir, const wxString &aSubDir=wxEmptyString)
ODB_FILE_WRITER CreateFileProxy(const wxString &aFileName)
void SetRootPath(const wxString &aDir)
ODB_TREE_WRITER(const wxString &aPareDir, const wxString &aSubDir)
virtual ~ODB_TREE_WRITER()
void SetCurrentPath(const wxString &aDir)
const wxString GetCurrentPath() const
ODB_TREE_WRITER(const wxString &aDir)
std::string Enum2String(T value)
wxString Data2String(double aVal)
void RemoveWhitespace(wxString &aStr)
wxString GenODBString(const wxString &aStr)
std::pair< wxString, wxString > AddXY(const VECTOR2I &aVec)
wxString GenLegalEntityName(const wxString &aStr)
wxString GenLegalNetName(const wxString &aStr)
wxString Double2String(double aVal)
wxString SymDouble2String(double aVal)
VECTOR2I GetShapePosition(const PCB_SHAPE &aShape)
wxString result
Test unit parsing edge cases and error handling.
VECTOR2< int32_t > VECTOR2I