Go to the documentation of this file.
2 #define _OME_ARRAY_H "$Id: OMEarray.h 312 2020-03-21 21:25:35Z geoff $"
68 template <
typename STREAMTYPE>
69 STREAMTYPE &
outputOnStream(STREAMTYPE &outputStream, int_fast16_t indent = 0,
108 if (this->data == arg.
data) {
122 if (data == arg.
data) {
125 return (*data == *arg.
data);
130 if (data == arg.
data) {
133 return (*data != *arg.
data);
199 return (data->deleteIndex(i));
249 return (data->elementCount());
254 return (data->isEmpty());
274 template <
typename STREAMTYPE>
276 int_fast16_t indent = 0,
279 data->outputOnStream(outputStream, indent, includeTypePrefix);
280 return (outputStream);
286 template <
typename STREAMTYPE>
290 return (outputStream);
293 #define OME_ARRAY_SUBSCRIPT_t(v) static_cast<OMEarray::ARRAY_SUBSCRIPT_t>(v)
uint64_t ARRAY_SUBSCRIPT_t
Definition: OMEarray.h:28
bool operator==(const OMEarray &arg) const
Definition: OMEarray.h:120
OME reference count implementation.
int sendString(const OMEstring &data, int *errRet=nullptr)
Definition: OMEapi.cpp:555
OMEstring secret
Definition: OMEapi.h:24
OMEtype peerOID
Definition: OMEapi.h:28
int negotiateKey()
Definition: OMEapi.cpp:116
ARRAY_SUBSCRIPT_t priorIndex(const uint64_t currentSubscript) const
Definition: OMEarray.h:242
int OMEinitNewCipher(const OMEstring &initVector)
Definition: aesCover.cpp:29
const OMEtype & operator[](const uint32_t i) const OME_ALWAYS_INLINE
Definition: OMEarray.h:160
OMEtype & operator[](const uint64_t i) OME_ALWAYS_INLINE
Subscript reference !
Definition: OMEarray.h:148
const char s[]
Definition: t.cpp:4
SMV_StandaloneNumeric< uint32_t > OMEdebugFlag("debugFlag")
int encryptCipherID
Definition: OMEapi.h:30
bool forceDeleteIndex(const ARRAY_SUBSCRIPT_t i)
Similar to deleteIndex(), but does not ensure a single reference to the array is held.
Definition: OMEarray.h:196
virtual OMEreferenceCount * deepCopy() const override
Definition: OMEarray.cpp:34
bool deleteIndex(const uint32_t i)
Definition: OMEarray.h:184
OMEstring * receiveString(int *errRet=nullptr)
Definition: OMEapi.cpp:624
int decryptKeyID
Definition: OMEapi.h:33
bool indexExists(const ARRAY_SUBSCRIPT_t) const
Definition: OMEarray.cpp:145
uint_fast16_t OMElistDefinedEncodingVersions(OMEarray &list)
Obtain a list of available encoding routines.
Definition: OMEencode.cpp:134
Implements text and binary string storage.
Definition: OMEstring.h:305
OMEtype & operator[](const uint16_t i) OME_ALWAYS_INLINE
Definition: OMEarray.h:154
Buffer into which OMEtype data is encoded.
Definition: OMEencode.h:54
#define stderr
Definition: tmp.o.cpp:3115
C * data
Definition: OMErefCount.h:82
bool indexExists(const uint32_t i) const
Definition: OMEarray.h:202
uint_fast32_t elementCount() const OME_ALWAYS_INLINE
Definition: OMEarray.h:58
int OMEencryptString(int useCipher, int useKey, const OMEstring &input, OMEstring &result)
Definition: aesCover.cpp:124
Fundamental ANY type for FARGOS/VISTA Object Management Environment.
Definition: OMEbaseType.h:250
Reference-counted maintainer of a sparse array.
Definition: OMEarray.h:23
OMEstring * OMEmakePublicKey(const OMEstring &privateKey)
Definition: pkRoutines.cpp:192
int encryptKeyID
Definition: OMEapi.h:31
OMEoid * thisObject
Definition: OMEapi.h:26
void unlockMe()
Definition: OMErefCount.cpp:132
OMEstring * OMEmakeSessionKeyFromPublicKey(const OMEstring &publicKey, OMEstring &randomDataInSessionKeyOut)
Definition: pkRoutines.cpp:255
_STD map< ARRAY_SUBSCRIPT_t, OMEbaseTypeP > SparseArrayType_t
Definition: OMEarray.h:31
ARRAY_SUBSCRIPT_t nextIndex(const int32_t currentSubscript) const
Definition: OMEarray.h:222
#define OMEdebugMethodInvocations
Definition: OMEdebugInfo.h:18
class OMEstring * s
Definition: OMEbaseType.h:299
OMEstring VISTAdomainName
Definition: OMEapi.h:35
OMEstring hostName
Definition: OMEprocInfo.h:67
STREAMTYPE & outputOnStream(STREAMTYPE &outputStream, int_fast16_t indent=0, uint8_t includeTypePrefix=OME_DEFAULT_COMPLEX_OUTPUT_MODE) const
Output an OMEarray to an output stream.
Definition: OMEarray.h:275
int OMEdecryptString(int useCipher, int useKey, const OMEstring &input, OMEstring &result)
Definition: aesCover.cpp:179
OMEarray(const OMEarray &org)
Definition: OMEarray.h:99
OMEarrayStorage()
Definition: OMEarray.cpp:18
Templated type-specific reference to a reference-counted object.
Definition: OMErefCount.h:79
bool deleteIndex(const ARRAY_SUBSCRIPT_t)
Definition: OMEarray.cpp:102
Base class for reference-counted data.
Definition: OMErefCount.h:31
OMEarray(OMEarrayStorage *s)
Definition: OMEarray.h:80
ARRAY_SUBSCRIPT_t priorIndex(const uint32_t currentSubscript) const
Definition: OMEarray.h:232
OMEarray * deepCopy() const
Definition: OMEarray.h:257
bool indexExists(const uint64_t i) const
Indicate if an array element exists.
Definition: OMEarray.h:212
bool isEmpty() const OME_ALWAYS_INLINE
Definition: OMEarray.h:63
const char srcID[]
Definition: catSym.c:17
@ OME_STRING
Definition: OMEmanifests.h:85
void freeEncryptionResources()
Definition: OMEapi.cpp:89
const OMEtype & operator[](const int32_t i) const OME_ALWAYS_INLINE
Definition: OMEarray.h:166
OMEstring * OMEdecryptSessionKeyWithPrivateKey(const OMEstring &privateKey, const OMEstring &data)
Definition: pkRoutines.cpp:296
OMEstring * OMEmakePrivateKey(const OMEstring &secretPhrase)
Definition: pkRoutines.cpp:156
int OMEdefineNewEncryptKey(const OMEstring &key)
Definition: aesCover.cpp:95
ARRAY_SUBSCRIPT_t priorIndex(const int32_t currentSubscript) const
Definition: OMEarray.h:237
int OMEdefineNewDecryptKey(const OMEstring &key)
Definition: aesCover.cpp:103
@ OME_NIL
Definition: OMEmanifests.h:78
#define OME_EXPECT_TRUE(expr)
Annotation macro for conditional expression expected to be true.
Definition: compiler_hints.h:541
STREAMTYPE & operator<<(STREAMTYPE &outputStream, const OMEarray &data)
Write an OMEarray to an output stream.
Definition: OMEarray.h:287
const OMEtype & operator[](const uint16_t i) const OME_ALWAYS_INLINE
Definition: OMEarray.h:178
ARRAY_SUBSCRIPT_t nextIndex(const ARRAY_SUBSCRIPT_t currentSubscript) const
Definition: OMEarray.cpp:160
~OMEarrayStorage()
Definition: OMEarray.cpp:22
OME fundamental type implementation.
bool operator!=(const OMEarrayStorage &arg) const
Definition: OMEarray.cpp:262
bool indexExists(const int32_t i) const
Definition: OMEarray.h:207
int decryptCipherID
Definition: OMEapi.h:32
OMEtype & operator[](const int32_t i) OME_ALWAYS_INLINE
Definition: OMEarray.h:142
OMEthisProcessInfo OMEcurrentProcessInfo
Automatic instantiation of OMEthisProcessInfo. When properly linked, the C++ static constructor mecha...
Definition: OMEprocInfo.cpp:217
const char srcID[] OME_USED
Definition: tick_time.cpp:24
OMEtype remoteOID
Definition: OMEapi.h:27
bool operator!=(const OMEarray &arg) const
Definition: OMEarray.h:128
~OMEarray()
Definition: OMEarray.h:117
#define _OME_ARRAY_H
Definition: tmp.o.cpp:964
uint_fast32_t elementCount() const OME_ALWAYS_INLINE
Definition: OMEarray.h:247
void addReadOnlyReference()
Definition: OMErefCount.cpp:139
@ OME_SET
Definition: OMEmanifests.h:89
bool isEmpty() const OME_ALWAYS_INLINE
Definition: OMEarray.h:252
bool deleteIndex(const uint64_t i)
Deletes the element identified by internal subscript i.
Definition: OMEarray.h:190
ARRAY_SUBSCRIPT_t nextIndex(const uint32_t currentSubscript) const
Definition: OMEarray.h:217
#define OME_ALWAYS_INLINE
Tell the compiler to alway inline a function, regardless of optimization level.
Definition: compiler_hints.h:364
class OMEtype * OMEbaseTypeP
Definition: OMEarray.h:18
void dropReference(C *newData=nullptr) OME_ALWAYS_INLINE
Definition: OMErefCount.h:91
void lockMe()
Definition: OMErefCount.cpp:125
OMEtype * OMEgetSigningFile(const OMEstring &secret, const OMEstring &logicalDomain, bool isPublic=false)
Definition: OMElicense.cpp:648
OMEtype & operator[](const uint32_t i) OME_ALWAYS_INLINE
Definition: OMEarray.h:136
OME sparse array implementation.
#define OMEdebugEvents
Definition: OMEdebugInfo.h:23
#define _STD
Definition: OMEmanifests.h:146
OME debug and profiling interfaces.
void getUniqueReference()
Force unique reference to the data, which will trigger duplication if necessary (copy-on-write).
Definition: OMErefCount.h:127
#define OME_DLL_EXPORT
Definition: compiler_hints.h:464
Implements sparse array of OMEtype elements.
Definition: OMEarray.h:75
ARRAY_SUBSCRIPT_t priorIndex(const ARRAY_SUBSCRIPT_t currentSubscript) const
Definition: OMEarray.cpp:178
OMEtype & operator[](const ARRAY_SUBSCRIPT_t)
Definition: OMEarray.cpp:63
STREAMTYPE & outputOnStream(STREAMTYPE &outputStream, int_fast16_t indent=0, uint8_t includeTypePrefix=OME_DEFAULT_COMPLEX_OUTPUT_MODE) const
Definition: OMEoutputOnStream.h:17
OMEstring * OMEmakeRandomKey(int32_t bits=1024)
Generate a random sequence of bits.
Definition: pkRoutines.cpp:46
uint32_t type
Definition: OMEbaseType.h:304
@ OME_DEFAULT_COMPLEX_OUTPUT_MODE
Definition: OMEmanifests.h:116
OMEtype * decodeData(const OMEstring &data)
Definition: OMEapi.cpp:109
OMEarray()
Definition: OMEarray.h:93
@ OME_ARRAY
Definition: OMEmanifests.h:86
OMEarrayStorage::ARRAY_SUBSCRIPT_t ARRAY_SUBSCRIPT_t
Definition: OMEarray.h:90
#define OMEtype
Definition: tmp.o.cpp:396
const OMEtype & operator[](const uint64_t i) const OME_ALWAYS_INLINE
Definition: OMEarray.h:172
@ OME_ASSOC
Definition: OMEmanifests.h:87
ARRAY_SUBSCRIPT_t nextIndex(const uint64_t currentSubscript) const
Return next valid subscript in an array.
Definition: OMEarray.h:227
OMEarray & operator=(const OMEarray &arg)
Definition: OMEarray.h:106
SparseArrayType_t sparseArray
Definition: OMEarray.h:32
bool operator==(const OMEarrayStorage &arg) const
Definition: OMEarray.cpp:209