33#define GDX_NS gdxlib::
56 enum class TraceLevels : uint8_t
63 void SetTraceLevel( TraceLevels tl );
71 [[nodiscard]]
int gdxStoreDomainSets()
const;
79 void gdxStoreDomainSetsSet(
int flag);
91 [[nodiscard]]
int gdxAllowBogusDomains()
const;
104 void gdxAllowBogusDomainsSet(
int flag);
110 [[nodiscard]]
int gdxMapAcronymsToNaN()
const;
116 void gdxMapAcronymsToNaNSet(
int flag);
129 int gdxAddAlias(
const char *Id1,
const char *Id2 );
139 int gdxAutoConvert(
int NV );
145 int64_t gdxGetMemoryUsed();
174 int gdxAcronymAdd(
const char *AName,
const char *Txt,
int AIndx );
181 int gdxAcronymCount()
const;
195 int gdxAcronymGetInfo(
int N,
char *AName,
char *Txt,
int &AIndx )
const;
212 int gdxAcronymGetMapping(
int N,
int &orgIndx,
int &newIndx,
int &autoIndex );
220 int gdxAcronymIndex(
double V )
const;
233 int gdxAcronymName(
double V,
char *AName );
251 int gdxAcronymNextNr(
int NV );
275 int gdxAcronymSetInfo(
int N,
const char *AName,
const char *Txt,
int AIndx );
284 double gdxAcronymValue(
int AIndx )
const;
300 int gdxSymbolAddComment(
int SyNr,
const char *Txt );
312 int gdxSymbolGetComment(
int SyNr,
int N,
char *Txt );
329 int gdxSymbolGetDomain(
int SyNr,
int *DomainSyNrs );
357 int gdxSymbolGetDomainX(
int SyNr,
char **DomainIDs );
372 int gdxSymbolSetDomain(
const char **DomainIDs );
386 int gdxSymbolSetDomainX(
int SyNr,
const char **DomainIDs );
417 int gdxGetDomainElements(
int SyNr,
int DimPos,
int FilterNr, TDomainIndexProc_t DP,
int &NrElem,
void *Uptr );
429 int gdxErrorCount()
const;
439 int gdxErrorStr(
int ErrNr,
char *ErrMsg )
const;
450 int gdxGetLastError();
488 int gdxOpenAppend(
const char *FileName,
const char *Producer,
int &ErrNr );
507 int gdxOpenRead(
const char *FileName,
int &ErrNr );
528 int gdxOpenReadEx(
const char *FileName,
int ReadMode,
int &ErrNr );
541 int gdxOpenWrite(
const char *FileName,
const char *Producer,
int &ErrNr );
566 int gdxOpenWriteEx(
const char *FileName,
const char *Producer,
int Compr,
int &ErrNr );
580 int gdxFilterExists(
int FilterNr );
592 int gdxFilterRegister(
int UelMap );
599 int gdxFilterRegisterDone();
610 int gdxFilterRegisterStart(
int FilterNr );
633 int gdxFindSymbol(
const char *SyId,
int &SyNr );
645 int gdxGetUEL(
int UelNr,
char *Uel );
661 int gdxSymbIndxMaxLength(
int SyNr,
int *LengthInfo );
667 int gdxSymbMaxLength()
const;
674 int gdxUELMaxLength();
691 int gdxDataErrorCount()
const;
713 int gdxDataErrorRecord(
int RecNr,
int *KeyInt,
double *Values );
733 int gdxDataErrorRecordX(
int RecNr,
int *KeyInt,
double *Values );
741 int gdxDataReadDone();
803 int gdxDataReadFilteredStart(
int SyNr,
const int *FilterAction,
int &NrRecs );
814 int gdxDataReadMap(
int RecNr,
int *KeyInt,
double *Values,
int &DimFrst );
824 int gdxDataReadMapStart(
int SyNr,
int &NrRecs );
835 int gdxDataReadRaw(
int *KeyInt,
double *Values,
int &DimFrst );
857 int gdxDataReadRawFast(
int SyNr, TDataStoreProc_t DP,
int &NrRecs );
886 int gdxDataReadRawFastEx(
int SyNr, TDataStoreExProc_t DP,
int &NrRecs,
void *Uptr );
927 int gdxDataReadRawFastFilt(
int SyNr,
const char **UelFilterStr, TDataStoreFiltProc_t DP );
937 int gdxDataReadRawStart(
int SyNr,
int &NrRecs );
960 int gdxDataReadSlice(
const char **UelFilterStr,
int &Dimen, TDataStoreProc_t DP );
971 int gdxDataReadSliceStart(
int SyNr,
int *ElemCounts );
990 int gdxDataReadStr(
char **KeyStr,
double *Values,
int &DimFrst );
1010 int gdxDataReadStrStart(
int SyNr,
int &NrRecs );
1023 int gdxDataSliceUELS(
const int *SliceKeyInt,
char **KeyStr );
1038 int gdxGetSpecialValues(
double *AVals );
1047 int gdxMapValue(
double D,
int &sv );
1054 int gdxResetSpecialValues();
1067 int gdxSetReadSpecialValues(
const double *AVals );
1081 int gdxSetSpecialValues(
const double *AVals );
1094 int gdxFileInfo(
int &FileVer,
int &ComprLev )
const;
1102 int gdxSymbolDim(
int SyNr );
1115 int gdxSymbolInfo(
int SyNr,
char *SyId,
int &Dimen,
int &Typ );
1180 int gdxSymbolInfoX(
int SyNr,
int &RecCnt,
int &UserInfo,
char *ExplTxt );
1188 int gdxSystemInfo(
int &SyCnt,
int &UelCnt );
1200 int gdxCurrentDim()
const;
1218 int gdxAddSetText(
const char *Txt,
int &TxtNr );
1255 int gdxGetElemText(
int TxtNr,
char *Txt,
int &Node );
1264 int gdxSetHasText(
int SyNr );
1276 int gdxSetTextNodeNr(
int TxtNr,
int Node );
1288 int gdxUELRegisterDone();
1303 int gdxUELRegisterMap(
int UMap,
const char *Uel );
1310 int gdxUELRegisterMapStart();
1323 int gdxUELRegisterRaw(
const char *Uel );
1330 int gdxUELRegisterRawStart();
1345 int gdxUELRegisterStr(
const char *Uel,
int &UelNr );
1352 int gdxUELRegisterStrStart();
1361 int gdxUMFindUEL(
const char *Uel,
int &UelNr,
int &UelMap );
1372 int gdxUMUelGet(
int UelNr,
char *Uel,
int &UelMap );
1381 int gdxUMUelInfo(
int &UelCnt,
int &HighMap );
1391 int gdxRenameUEL(
const char *OldName,
const char *NewName );
1404 static int gdxGetDLLVersion(
char *V );
1414 int gdxFileVersion(
char *FileStr,
char *ProduceStr )
const;
1422 int gdxSetTraceLevel(
int N,
const char *s );
1435 int gdxDataWriteDone();
1444 int gdxDataWriteMap(
const int *KeyInt,
const double *Values );
1509 int gdxDataWriteMapStart(
const char *SyId,
const char *ExplTxt,
int Dimen,
int Typ,
int UserInfo );
1524 int gdxDataWriteRaw(
const int *KeyInt,
const double *Values );
1591 int gdxDataWriteRawStart(
const char *SyId,
const char *ExplTxt,
int Dimen,
int Typ,
int UserInfo );
1664 int gdxDataWriteRawStartKeyBounds(
const char *SyId,
const char *ExplTxt,
int Dimen,
int Typ,
int UserInfo,
const int *MinUELIndices,
const int *MaxUELIndices );
1720 int gdxDataWriteStr(
const char **KeyStr,
const double *Values );
1737 int gdxDataWriteStrStart(
const char *SyId,
const char *ExplTxt,
int Dimen,
int Typ,
int UserInfo );
1744std::unique_ptr<gdlib::gmsstrm::TMiBufferedStream> FFile;
1745std::string lastFileName {};
1746TgxFileMode fmode { f_not_open }, fmode_AftReg { f_not_open };
1752} fstatus { stat_notopen };
1754std::unique_ptr<TUELTable> UELTable;
1755std::unique_ptr<TSetTextList> SetTextList {};
1756std::unique_ptr<int[]> MapSetText {};
1758std::array<int, GLOBAL_MAX_INDEX_DIM> LastElem {}, PrevElem {}, MinElem {}, MaxElem {};
1759std::array<std::array<char, GLOBAL_UEL_IDENT_SIZE>, GLOBAL_MAX_INDEX_DIM> LastStrElem {};
1761tvarvaltype LastDataField {};
1762std::unique_ptr<TNameList> NameList;
1763std::unique_ptr<TDomainStrList> DomainStrList;
1764std::unique_ptr<LinkedDataType> SortList;
1765std::optional<LinkedDataIteratorType> ReadPtr;
1766std::unique_ptr<TTblGamsDataImpl<double>> ErrorList;
1767PgdxSymbRecord CurSyPtr {};
1768int ErrCnt {}, ErrCntTotal {};
1769int LastError {}, LastRepError {};
1770std::unique_ptr<TFilterList> FilterList;
1772TDomainList DomainList {};
1773bool StoreDomainSets {
true }, AllowBogusDomain {
true }, MapAcrToNaN {};
1774TIntlValueMapDbl intlValueMapDbl {}, readIntlValueMapDbl {};
1775TIntlValueMapI64 intlValueMapI64 {};
1776TraceLevels TraceLevel { TraceLevels::trl_all };
1777std::string TraceStr;
1779std::string FProducer, FProducer2, FileSystemID;
1780int64_t MajorIndexPosition {};
1781int64_t NextWritePosition {};
1782int DataCount {}, NrMappedAdded {};
1783std::array<TgdxElemSize, GLOBAL_MAX_INDEX_DIM> ElemType {};
1784std::string MajContext;
1785std::array<TIntegerMapping, GLOBAL_MAX_INDEX_DIM> SliceIndxs {}, SliceRevMap {};
1787std::array<std::string, GMS_MAX_INDEX_DIM> SliceElems;
1788bool DoUncompress {},
1790int DeltaForWrite {};
1793std::unique_ptr<TAcronymList> AcronymList;
1794std::array<TSetBitMap *, GLOBAL_MAX_INDEX_DIM> WrBitMaps {};
1795bool ReadUniverse {};
1796int UniverseNr {}, UelCntOrig {};
1797int AutoConvert { 1 };
1798int NextAutoAcronym {};
1799bool AppendActive {};
1801#ifndef VERBOSE_TRACE
1802const TraceLevels defaultTraceLevel { TraceLevels::trl_none };
1803const bool verboseTrace {};
1805const TraceLevels defaultTraceLevel { TraceLevels::trl_all };
1806const bool verboseTrace {
true };
1810TDataStoreFiltProc_t gdxDataReadRawFastFilt_DP {};
1811TDomainIndexProc_t gdxGetDomainElements_DP {};
1813int64_t ReadUELPos {}, ReadAcronymPos {}, ReadSetTextPos {};
1814bool UelReadDeferred {}, SetTextReadDeferred {};
1816bool PrepareSymbolWrite( std::string_view Caller,
const char *AName,
const char *AText,
int ADim,
int AType,
int AUserInfo );
1817int PrepareSymbolRead( std::string_view Caller,
int SyNr,
const int *ADomainNrs, TgxFileMode newmode );
1820void SetError(
int N );
1821void ReportError(
int N );
1822bool ErrorCondition(
bool cnd,
int N );
1824bool MajorCheckMode( std::string_view Routine, TgxFileMode m );
1825bool MajorCheckMode( std::string_view Routine,
const TgxModeSet &MS );
1827bool CheckMode( std::string_view Routine );
1828bool CheckMode( std::string_view Routine, TgxFileMode m );
1829bool CheckMode( std::string_view Routine,
const TgxModeSet &MS );
1831void WriteTrace( std::string_view s )
const;
1832void InitDoWrite(
int NrRecs );
1833bool DoWrite(
const int *AElements,
const double *AVals );
1834bool DoRead(
double *AVals,
int &AFDim );
1835void AddToErrorListDomErrs(
const std::array<int, GLOBAL_MAX_INDEX_DIM> &AElements,
const double *AVals );
1836void AddToErrorList(
const int *AElements,
const double *AVals );
1837void GetDefaultRecord(
double *Avals )
const;
1838double AcronymRemap(
double V );
1839bool IsGoodNewSymbol(
const char *s );
1840bool ResultWillBeSorted(
const int *ADomainNrs )
const;
1842int gdxOpenReadXX(
const char *Afn,
int filemode,
int ReadMode,
int &ErrNr );
1843int ReadUELTable(
bool isDeferred);
1844int ReadSetTextList(
bool isDeferred);
1847void gdxGetDomainElements_DP_FC(
int RawIndex,
int MappedIndex,
void *Uptr );
1848int gdxDataReadRawFastFilt_DP_FC(
const int *Indx,
const double *Vals,
void *Uptr );
1850void mapDefaultRecordValues(
double *AVals)
const;
1853bool gdxGetDomainElements_DP_CallByRef {},
1854 gdxDataReadRawFastFilt_DP_CallByRef {},
1855 gdxDataReadRawFastEx_DP_CallByRef {};
1860namespace gdx = GDX_NS gdx;
Definition: gxfile.hpp:196
Definition: gxfile.hpp:92