File indexing completed on 2025-10-12 04:59:54

0001 // bjgb_rank.cpp                                                      -*-C++-*-
0002 #include <bjgb_rank.h>
0003 
0004 #include <ostream>
0005 
0006 // ----------
0007 // class Rank
0008 // ----------
0009 
0010 // FREE OPERATORS
0011 std::ostream& bjgb::operator<<(std::ostream& stream, const Rank& rank)
0012 {
0013     char rep;
0014 
0015     switch (rank.value()) {
0016     case 1: {
0017         rep = 'A';
0018     } break;
0019     case 2: {
0020         rep = '2';
0021     } break;
0022     case 3: {
0023         rep = '3';
0024     } break;
0025     case 4: {
0026         rep = '4';
0027     } break;
0028     case 5: {
0029         rep = '5';
0030     } break;
0031     case 6: {
0032         rep = '6';
0033     } break;
0034     case 7: {
0035         rep = '7';
0036     } break;
0037     case 8: {
0038         rep = '8';
0039     } break;
0040     case 9: {
0041         rep = '9';
0042     } break;
0043     case 10: {
0044         rep = 'T';
0045     } break;
0046     default: {
0047         assert("Invalid 'Rank' state for streaming." && 0);
0048 
0049         rep = '?';
0050     } break;
0051     }
0052 
0053     return stream << rep;
0054 }