atlas
0.6
|
Functions | |
bool | checkInnerClass (input::InputBuffer &buf, const LieType <, bool output) |
bool | checkLieType (input::InputBuffer &buf) |
bool | checkSimpleLieType (input::InputBuffer &buf) |
bool | checkTotalRank (input::InputBuffer &buf) |
std::ostream & | printRankMessage (std::ostream &strm, lietype::TypeLetter x) |
void | readInnerClass (InnerClassType &ict, input::InputBuffer &buf, const LieType <) |
void | readLieType (LieType <, input::InputBuffer &buf) |
bool atlas::interactive_lietype::checkInnerClass | ( | input::InputBuffer & | buf, |
const LieType & | lt, | ||
bool | output | ||
) |
Synopsis: checks if a valid inner class for lt will be read from buf.
bool atlas::interactive_lietype::checkLieType | ( | input::InputBuffer & | buf | ) |
Synopsis: checks if buf starts with a valid Lie type.
A valid Lie type is a dot-separated non-empty string of entities of the form where X is a letter in the range [A-G] or T (for torus), and n is a number in the appropriate range for X. White between entities is ignored; reading terminates when after a pair Xn the next read operation on a character does not produce '.' (i.e., when the next non-white character is not a dot.)
Return value is 0 for correct input, non-zero otherwise.
bool atlas::interactive_lietype::checkSimpleLieType | ( | input::InputBuffer & | buf | ) |
Synopsis: checks if reading a SimpleLieType from buf will succeed.
bool atlas::interactive_lietype::checkTotalRank | ( | input::InputBuffer & | buf | ) |
Synopsis: checks that the total rank does not exceed RANK_MAX.
Precondition: it has already been checked that successive read operations on buf will yield a valid simple type, optionally followed by a dot and a valid type.
std::ostream & atlas::interactive_lietype::printRankMessage | ( | std::ostream & | strm, |
lietype::TypeLetter | x | ||
) |
Prints the message appropriate for a bad choice of rank for type x.
void atlas::interactive_lietype::readInnerClass | ( | InnerClassType & | ict, |
input::InputBuffer & | buf, | ||
const LieType & | lt | ||
) |
Synopsis: reads an inner class type from buf.
Precondition: checkInnerClass(ict,buf) returns true;
Maps e ("equal rank") to c; maps "u" (unequal rank) to s except for type D_2n.
void atlas::interactive_lietype::readLieType | ( | LieType & | lt, |
input::InputBuffer & | buf | ||
) |
Synopsis: reads the Lie type from buf.
Precondition: it has been checked that the read operation will succeed: successive read operations will yield a valid simple Lie type, optionally followed by a dot and a valid Lie type. Reading ends on EOF or when a simple Lie type is not imediately followed by a dot.
To normalize the occurrence of torus factors, this function expands Tn with n>1 to n copies of T1