Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

atlas::interactive_lietype Namespace Reference


Functions

bool checkInnerClass (input::InputBuffer &buf, const lietype::LieType &lt, 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 (lietype::InnerClassType &ict, input::InputBuffer &buf, const lietype::LieType &lt)
void readLieType (lietype::LieType &lt, input::InputBuffer &buf)


Function Documentation

bool atlas::interactive_lietype::checkInnerClass input::InputBuffer &  buf,
const lietype::LieType lt,
bool  output = true
 

Synopsis: checks if a valid inner class for lt will be read from buf.

Definition at line 44 of file interactive_lietype.cpp.

References atlas::lietype::innerClassLetters, atlas::lietype::rank(), atlas::input::InputBuffer::reset(), atlas::lietype::SimpleLieType, atlas::lietype::type(), atlas::lietype::TypeLetter, and atlas::UnequalRankTypes.

Referenced by atlas::interactive::getInteractive().

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.

Definition at line 113 of file interactive_lietype.cpp.

References checkSimpleLieType(), checkTotalRank(), atlas::ignoreSimpleLieType(), atlas::constants::RANK_MAX, and atlas::input::InputBuffer::reset().

Referenced by atlas::interactive::getInteractive().

bool atlas::interactive_lietype::checkSimpleLieType input::InputBuffer &  buf  ) 
 

Synopsis: checks if reading a SimpleLieType from buf will succeed.

Definition at line 156 of file interactive_lietype.cpp.

References atlas::lietype::checkRank(), printRankMessage(), atlas::input::InputBuffer::reset(), atlas::lietype::TypeLetter, and atlas::lietype::typeLetters.

Referenced by checkLieType().

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.

Definition at line 193 of file interactive_lietype.cpp.

References atlas::input::InputBuffer::reset(), and atlas::lietype::TypeLetter.

Referenced by checkLieType().

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.

Definition at line 231 of file interactive_lietype.cpp.

References atlas::constants::RANK_MAX.

Referenced by checkSimpleLieType().

void atlas::interactive_lietype::readInnerClass lietype::InnerClassType ict,
input::InputBuffer &  buf,
const lietype::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.

Definition at line 280 of file interactive_lietype.cpp.

References atlas::lietype::rank(), atlas::lietype::type(), and atlas::lietype::TypeLetter.

Referenced by atlas::interactive::getInteractive().

void atlas::interactive_lietype::readLieType lietype::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

Definition at line 313 of file interactive_lietype.cpp.

References atlas::lietype::SimpleLieType, and atlas::lietype::TypeLetter.

Referenced by atlas::interactive::getInteractive().


Generated on Wed Mar 26 16:52:27 2008 for atlas by  doxygen 1.3.9.1