31 #if (defined _WIN32 || defined _WIN64 || defined WIN32 || defined WIN64) && (defined _MSC_VER) && (_MSC_VER < 1900) && !defined __GNUC__ 32 typedef __int8 int8_t;
33 typedef __int16 int16_t;
34 typedef __int32 int32_t;
35 typedef __int64 int64_t;
36 typedef unsigned __int8 uint8_t;
37 typedef unsigned __int16 uint16_t;
38 typedef unsigned __int32 uint32_t;
39 typedef unsigned __int64 uint64_t;
45 #if (defined _WIN32 || defined _WIN64 || defined WIN32 || defined WIN64) && !defined __GNUC__ 46 #ifdef SIDX_DLL_EXPORT 47 #define SIDX_DLL __declspec(dllexport) 53 #pragma warning( disable: 4251 ) 121 virtual std::string what() = 0;
130 std::string what()
override;
141 std::string what()
override;
152 std::string what()
override;
163 std::string what()
override;
174 std::string what()
override;
185 std::string what()
override;
199 virtual double getLowerBound()
const = 0;
200 virtual double getUpperBound()
const = 0;
201 virtual void setBounds(
double,
double) = 0;
202 virtual bool intersectsInterval(
const IInterval&)
const = 0;
203 virtual bool intersectsInterval(
IntervalType type,
const double start,
const double end)
const = 0;
204 virtual bool containsInterval(
const IInterval&)
const = 0;
223 virtual uint32_t getByteArraySize() = 0;
225 virtual void loadFromByteArray(
const uint8_t* data) = 0;
227 virtual void storeToByteArray(uint8_t** data, uint32_t& length) = 0;
236 virtual bool operator<(
const IComparable& o)
const = 0;
237 virtual bool operator>(
const IComparable& o)
const = 0;
238 virtual bool operator==(
const IComparable& o)
const = 0;
254 virtual IObject* getNext() = 0;
258 virtual bool hasNext() = 0;
261 virtual uint32_t size() = 0;
264 virtual void rewind() = 0;
308 Variant getProperty(std::string property)
const;
309 void setProperty(std::string property,
Variant const& v);
310 void removeProperty(std::string property);
312 uint32_t getByteArraySize()
override;
313 void loadFromByteArray(
const uint8_t* data)
override;
314 void storeToByteArray(uint8_t** data, uint32_t& length)
override;
317 std::map<std::string, Variant> m_propertySet;
337 virtual bool operator==(
const Interval&)
const;
338 virtual bool operator!=(
const Interval&)
const;
339 double getLowerBound()
const override;
340 double getUpperBound()
const override;
341 void setBounds(
double,
double)
override;
342 bool intersectsInterval(
const IInterval&)
const override;
343 bool intersectsInterval(
IntervalType type,
const double start,
const double end)
const override;
344 bool containsInterval(
const IInterval&)
const override;
358 Random(uint32_t seed, uint16_t xsubi0);
361 int32_t nextUniformLong();
363 uint32_t nextUniformUnsignedLong();
365 int32_t nextUniformLong(int32_t low, int32_t high);
367 uint32_t nextUniformUnsignedLong(uint32_t low, uint32_t high);
369 int64_t nextUniformLongLong();
371 uint64_t nextUniformUnsignedLongLong();
373 int64_t nextUniformLongLong(int64_t low, int64_t high);
375 uint64_t nextUniformUnsignedLongLong(uint64_t low, uint64_t high);
377 int16_t nextUniformShort();
379 uint16_t nextUniformUnsignedShort();
381 double nextUniformDouble();
383 double nextUniformDouble(
double low,
double high);
389 void initDrand(uint32_t seed, uint16_t xsubi0);
398 LockGuard(pthread_mutex_t* pLock);
402 pthread_mutex_t* m_pLock;
412 virtual void close();
414 virtual void rewind() = 0;
415 virtual void seek(std::fstream::off_type offset) = 0;
431 virtual void open(
const std::string& sFileName);
432 void rewind()
override;
433 void seek(std::fstream::off_type offset)
override;
435 virtual uint8_t readUInt8();
436 virtual uint16_t readUInt16();
437 virtual uint32_t readUInt32();
438 virtual uint64_t readUInt64();
439 virtual float readFloat();
440 virtual double readDouble();
441 virtual bool readBoolean();
442 virtual std::string readString();
443 virtual void readBytes(uint32_t u32Len, uint8_t** pData);
453 virtual void open(
const std::string& sFileName,
FileMode mode =
CREATE);
454 void rewind()
override;
455 void seek(std::fstream::off_type offset)
override;
457 virtual void write(uint8_t i);
458 virtual void write(uint16_t i);
459 virtual void write(uint32_t i);
460 virtual void write(uint64_t i);
461 virtual void write(
float i);
462 virtual void write(
double i);
463 virtual void write(
bool b);
464 virtual void write(
const std::string& s);
465 virtual void write(uint32_t u32Len, uint8_t* pData);
474 void rewindForReading();
475 void rewindForWriting();
477 std::string getFileName()
const;
480 uint16_t readUInt16();
481 uint32_t readUInt32();
482 uint64_t readUInt64();
485 std::string readString();
486 void readBytes(uint32_t u32Len, uint8_t** pData);
488 void write(uint8_t i);
489 void write(uint16_t i);
490 void write(uint32_t i);
491 void write(uint64_t i);
493 void write(
double i);
494 void write(
const std::string& s);
495 void write(uint32_t u32Len, uint8_t* pData);