SOIL C++
C++ Unified Device Interface
|
Type definitions. More...
Classes | |
class | Container |
Data Container. More... | |
class | Container< T, -1, -1 > |
Template specialization for Scalars. More... | |
class | Container< T, x, -1 > |
Template specialization for 1D-Arrays/Vectors. More... | |
class | Element |
SOIL Base Element. More... | |
class | Enum |
SOIL Enum Datatype. More... | |
class | Figure |
Intermediate class for Variable and Parameter that derives from Element. More... | |
class | Function |
Function Class. More... | |
class | Object |
Object Class. More... | |
class | Parameter |
Parameter Class. More... | |
class | Range |
Range Helper Class. More... | |
class | Range< ENUM > |
Enum Range. More... | |
class | Range< std::string > |
String Range. More... | |
class | Time |
SOIL Time. More... | |
class | Variable |
Variable Class. More... | |
Typedefs | |
typedef int64_t | INT |
SOIL Integer. More... | |
typedef double | DOUBLE |
SOIL Double. More... | |
typedef bool | BOOL |
SOIL Boolean. More... | |
typedef std::string | STRING |
SOIL String. More... | |
typedef Enum | ENUM |
SOIL Enum. More... | |
typedef Time | TIME |
SOIL Time. More... | |
typedef std::vector< unsigned int > | DIMENSION |
SOIL Dimension. More... | |
Functions | |
void | null_deleter (SOIL::Element *ptr) |
Null deleter. More... | |
template<typename T > | |
HTTP::Json | datatype (void) |
HTTP JSON datatype. More... | |
template<> | |
DLL HTTP::Json | datatype< double > (void) |
template<> | |
DLL HTTP::Json | datatype< bool > (void) |
template<> | |
DLL HTTP::Json | datatype< std::string > (void) |
template<> | |
DLL HTTP::Json | datatype< int64_t > (void) |
template<> | |
DLL HTTP::Json | datatype< int > (void) |
template<> | |
DLL HTTP::Json | datatype< SOIL::TIME > (void) |
template<> | |
DLL HTTP::Json | datatype< SOIL::ENUM > (void) |
template<typename T > | |
DLL web::json::value | to_json (const T &value) |
Value to JSON. More... | |
template<typename T > | |
DLL T | to_value (web::json::value json) |
JSON to Value. More... | |
template<> | |
DLL web::json::value | to_json< double > (const double &value) |
template<> | |
DLL web::json::value | to_json< int64_t > (const int64_t &value) |
template<> | |
DLL web::json::value | to_json< int > (const int &value) |
template<> | |
DLL web::json::value | to_json< std::string > (const std::string &value) |
template<> | |
DLL web::json::value | to_json< SOIL::TIME > (const SOIL::TIME &value) |
template<> | |
DLL web::json::value | to_json< SOIL::ENUM > (const SOIL::ENUM &value) |
template<> | |
DLL web::json::value | to_json< SOIL::BOOL > (const bool &value) |
template<> | |
DLL double | to_value< double > (web::json::value value) |
template<> | |
DLL int | to_value< int > (web::json::value value) |
template<> | |
DLL int64_t | to_value< int64_t > (web::json::value value) |
template<> | |
DLL std::string | to_value< std::string > (web::json::value json) |
template<> | |
DLL SOIL::TIME | to_value< SOIL::TIME > (web::json::value json) |
template<> | |
DLL SOIL::ENUM | to_value< SOIL::ENUM > (web::json::value json) |
template<> | |
DLL bool | to_value< bool > (web::json::value json) |
DLL bool | operator>= (const Time &t1, const Time &t2) |
GEQ Time Operator. More... | |
DLL bool | operator<= (const Time &t1, const Time &t2) |
LEQ Time Operator. More... | |
Set of type definitions to make sure the user can name SOIL specific types without knowing the explicit underlying C++ type.
typedef bool SOIL::BOOL |
typedef std::vector<unsigned int> SOIL::DIMENSION |
typedef double SOIL::DOUBLE |
typedef Enum SOIL::ENUM |
typedef int64_t SOIL::INT |
typedef std::string SOIL::STRING |
typedef Time SOIL::TIME |
HTTP::Json SOIL::datatype | ( | void | ) |
Returns the datatype part of the SOIL-conformant JSON-representation of the figure, expressed as string. This function is declared in its specializations as it needs to be implemented expclicitiy for each datatype.
T | Dataype under consideration |
HTTP::Json SOIL::datatype< bool > | ( | void | ) |
Definition at line 10 of file Figure.cpp.
HTTP::Json SOIL::datatype< double > | ( | void | ) |
Definition at line 4 of file Figure.cpp.
HTTP::Json SOIL::datatype< int > | ( | void | ) |
Definition at line 31 of file Figure.cpp.
HTTP::Json SOIL::datatype< int64_t > | ( | void | ) |
Definition at line 24 of file Figure.cpp.
DLL HTTP::Json SOIL::datatype< SOIL::ENUM > | ( | void | ) |
DLL HTTP::Json SOIL::datatype< SOIL::TIME > | ( | void | ) |
DLL HTTP::Json SOIL::datatype< std::string > | ( | void | ) |
|
inline |
A function that essentially does nothing which is required as argument in the constructor of Element to avoid that delete is implicitly called a second time in the destructor when the member shared pointer to the object itself is deleted and the internal shared pointer is the last reference to the object. This situation occurs for root objects.
[in] | ptr | Pointer on which to do nothing |
Friend Operator <=.
Lower or equal operation for two Time objects, which is needed for the correct implementation of the Range class.
Returns true if t1
<= t2
, otherwise false. If one of the Time objects is set to null, the operation returns false.
t1 | Left hand side time |
t2 | Right hand side time |
Friend Operator >=.
Greater or equal operation for two Time objects, which is needed for the correct implementation of the Range class.
Returns true if t1
>= t2
, otherwise false. If one of the Time objects is set to null, the operation returns false.
t1 | Left hand side time |
t2 | Right hand side time |
DLL web::json::value SOIL::to_json | ( | const T & | value | ) |
Helper function to convert a value to its correct JSON value (RHS of key in document). This is a template function that is specialized for every datatype.
T | Datatype under consideration |
[in] | value | Value to convert |
web::json::value SOIL::to_json< double > | ( | const double & | value | ) |
Definition at line 11 of file json_helpers.cpp.
web::json::value SOIL::to_json< int > | ( | const int & | value | ) |
Definition at line 23 of file json_helpers.cpp.
web::json::value SOIL::to_json< int64_t > | ( | const int64_t & | value | ) |
Definition at line 17 of file json_helpers.cpp.
DLL web::json::value SOIL::to_json< SOIL::BOOL > | ( | const bool & | value | ) |
DLL web::json::value SOIL::to_json< SOIL::ENUM > | ( | const SOIL::ENUM & | value | ) |
DLL web::json::value SOIL::to_json< SOIL::TIME > | ( | const SOIL::TIME & | value | ) |
DLL web::json::value SOIL::to_json< std::string > | ( | const std::string & | value | ) |
DLL T SOIL::to_value | ( | web::json::value | json | ) |
Helper function to convert a value from a JSON object to its equivalent internal SOIL datatype. This is a template function that is specialized for every datatype.
T | Datatype under consideration |
[in] | json | JSON object to convert |
bool SOIL::to_value< bool > | ( | web::json::value | json | ) |
Definition at line 92 of file json_helpers.cpp.
double SOIL::to_value< double > | ( | web::json::value | value | ) |
Definition at line 55 of file json_helpers.cpp.
int SOIL::to_value< int > | ( | web::json::value | value | ) |
Definition at line 62 of file json_helpers.cpp.
int64_t SOIL::to_value< int64_t > | ( | web::json::value | value | ) |
Definition at line 68 of file json_helpers.cpp.
DLL SOIL::ENUM SOIL::to_value< SOIL::ENUM > | ( | web::json::value | json | ) |
DLL SOIL::TIME SOIL::to_value< SOIL::TIME > | ( | web::json::value | json | ) |
DLL std::string SOIL::to_value< std::string > | ( | web::json::value | json | ) |