Typedefs | |
typedef BlockBase *(* | BlockCreateFunc) () |
Function pointer for invoking create methods for blocks. More... | |
typedef std::map< std::string, BlockCreateFunc > | BlockFactory |
Mapping from block titles to block create functions. More... | |
typedef Blocks::iterator | BlockIter |
Block iterator. More... | |
typedef std::vector< const BlockBase * > | Blocks |
Block storage type. More... | |
SINEX Constants | |
const char | HEAD_TAIL_START = '%' |
const char | BLOCK_START = '+' |
const char | BLOCK_END = '-' |
const char | COMMENT_START = '*' |
const char | DATA_START = ' ' |
const char | FIELD_DIV = ' ' |
const size_t | MIN_LINE_LEN = 1 |
const size_t | MAX_LINE_LEN = 80 |
const float | VERSION = 2.02f |
bool | isValidObsCode (char c, bool toss) |
bool | isValidConstraintCode (char c, bool toss) |
bool | isValidSolutionType (char c, bool toss) |
bool | isValidLineStructure (const std::string &line, size_t minLen, size_t maxLen, int divs[], bool toss) |
std::string | formatStr (const std::string &value, size_t width, bool allowBlank) |
std::string | formatInt (long value, size_t width) |
std::string | formatUint (unsigned long value, size_t width) |
std::string | formatFor (double value, size_t width, size_t expLen) |
std::string | formatFixed (double value, size_t width, size_t precision) |
const std::string | FILE_BEGIN ("%=SNX") |
const std::string | FILE_END ("%ENDSNX") |
const std::string | OBS_CODES ("CDLMPR") |
const std::string | CONSTRAINT_CODES ("012") |
const std::string | SOLUTION_TYPES ("SOETCA ") |
typedef BlockBase*(* gnsstk::Sinex::BlockCreateFunc) () |
Function pointer for invoking create methods for blocks.
Definition at line 218 of file SinexBlock.hpp.
typedef std::map<std::string, BlockCreateFunc> gnsstk::Sinex::BlockFactory |
Mapping from block titles to block create functions.
Definition at line 221 of file SinexBlock.hpp.
typedef Blocks::iterator gnsstk::Sinex::BlockIter |
Block iterator.
Definition at line 215 of file SinexBlock.hpp.
typedef std::vector<const BlockBase*> gnsstk::Sinex::Blocks |
Block storage type.
Definition at line 212 of file SinexBlock.hpp.
const std::string gnsstk::Sinex::CONSTRAINT_CODES | ( | "012" | ) |
const std::string gnsstk::Sinex::FILE_BEGIN | ( | ) |
const std::string gnsstk::Sinex::FILE_END | ( | "%ENDSNX" | ) |
std::string gnsstk::Sinex::formatFixed | ( | double | value, |
size_t | width, | ||
size_t | precision | ||
) |
Format a fixed-point value such that it has a specified width and precision. If the value is close to 0, the function will attempt to squeeze it into the specified width by removing the 0 before the decimal (0.123 becomes .123). If the value cannot be represented in the specified width, the function will throw an exception.
If value is close to 0, try squeezing to stay within width
Squeeze -0.123 to -.123
Squeeze 0.1234 to .1234
Definition at line 233 of file SinexBase.cpp.
std::string gnsstk::Sinex::formatFor | ( | double | value, |
size_t | width, | ||
size_t | expLen | ||
) |
Format a fixed-point value in fortran like scientific notation with a specified width and exponent length.
Definition at line 225 of file SinexBase.cpp.
std::string gnsstk::Sinex::formatInt | ( | long | value, |
size_t | width | ||
) |
Format a signed integer such that it's string representation fills but does not exceed the specified width. The value is justified to the right within the string. If the value cannot fit into the specified width, the function will throw an exception.
Definition at line 189 of file SinexBase.cpp.
std::string gnsstk::Sinex::formatStr | ( | const std::string & | value, |
size_t | width, | ||
bool | allowBlank = false |
||
) |
Format a string such that it fills but does not exceed the specified width. The value is justified to the left within the returned string. If the value cannot fit into the specified width, it is truncated. If the value is empty and allowBlank is false, the returned string will be filled with '-'s as dictated by the SINEX specification.
Definition at line 173 of file SinexBase.cpp.
std::string gnsstk::Sinex::formatUint | ( | unsigned long | value, |
size_t | width | ||
) |
Format an unsigned integer such that it's string representation fills but does not exceed the specified width. The value is justified to the right within the string. If the value cannot fit into the specified width, the function will throw an exception.
Definition at line 207 of file SinexBase.cpp.
bool gnsstk::Sinex::isValidConstraintCode | ( | char | c, |
bool | toss = true |
||
) |
Return whether c is a valid Constraint Code. If it is not, and if toss is true, the function will throw and exception.
Definition at line 75 of file SinexBase.cpp.
bool gnsstk::Sinex::isValidLineStructure | ( | const std::string & | line, |
size_t | minLength, | ||
size_t | maxLength, | ||
int | divs[] = NULL , |
||
bool | toss = true |
||
) |
Returns whether the supplied data line has a valid structure, i.e. whether its length is correct and whether its field dividers are in expected locations. If the line structure is not valid, and if toss is true, the function will throw an exception.
Check Minimum line length
Check maximum line length
Check for valid field dividers
toss | Array terminated by element < 0 |
Definition at line 111 of file SinexBase.cpp.
bool gnsstk::Sinex::isValidObsCode | ( | char | c, |
bool | toss = true |
||
) |
Return whether c is a valid Observation Code. If it is not, and if toss is true, the function will throw and exception.
Definition at line 57 of file SinexBase.cpp.
bool gnsstk::Sinex::isValidSolutionType | ( | char | c, |
bool | toss = true |
||
) |
Return whether c is a valid Solution Type. If it is not, and if toss is true, the function will throw and exception.
Definition at line 93 of file SinexBase.cpp.
const std::string gnsstk::Sinex::OBS_CODES | ( | "CDLMPR" | ) |
const std::string gnsstk::Sinex::SOLUTION_TYPES | ( | "SOETCA " | ) |
const char gnsstk::Sinex::BLOCK_END = '-' |
Definition at line 62 of file SinexBase.hpp.
const char gnsstk::Sinex::BLOCK_START = '+' |
Definition at line 61 of file SinexBase.hpp.
const char gnsstk::Sinex::COMMENT_START = '*' |
Definition at line 63 of file SinexBase.hpp.
const char gnsstk::Sinex::DATA_START = ' ' |
Definition at line 64 of file SinexBase.hpp.
const char gnsstk::Sinex::FIELD_DIV = ' ' |
Definition at line 65 of file SinexBase.hpp.
const char gnsstk::Sinex::HEAD_TAIL_START = '%' |
Definition at line 60 of file SinexBase.hpp.
const size_t gnsstk::Sinex::MAX_LINE_LEN = 80 |
Definition at line 67 of file SinexBase.hpp.
const size_t gnsstk::Sinex::MIN_LINE_LEN = 1 |
Definition at line 66 of file SinexBase.hpp.
const float gnsstk::Sinex::VERSION = 2.02f |
Definition at line 68 of file SinexBase.hpp.