str_prtc. Más...
#include "str_prtc.h"
#include <memory.h>
#include <string.h>
#include <assert.h>
Funciones | |
| bool | Check_Ok (const str_prtc &STR) |
| Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido. | |
str_prtc.
|
|
Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido.
00076 { 00077 unsigned i; 00078 if (STR._after[0] != 0) { // verifica EOS al final de la hilera 00079 // i = i; 00080 return false; 00081 } 00082 00083 for (i = 0; i < str_prtc::SIZE_out; ++i) { 00084 if (STR._before[i] != ((char)0xFF ^ STR._after[i])) { 00085 return false; // verifica que los [amortiguadores] alrededor 00086 } // de la hilera no están [manchados] 00087 } 00088 00089 i = str_prtc::SIZE_in; 00090 do { 00091 i--; 00092 if (0 == STR._s[i]) { // encontró EOS y todo está bien 00093 break; 00094 } else if (STR._s[i] != str_prtc::Fix_char) { 00095 return false; // se queja porque no hay [chingolitos] después de la hilera 00096 } 00097 } while (i != 0); 00098 if ( i == 0 ) { 00099 return true; 00100 } 00101 // assert( i > 0 ); 00102 do { 00103 i--; 00104 if (0 == STR._s[i]) { 00105 return false; // encontró más de un EOS 00106 } 00107 } while (i != 0); 00108 00109 return true; 00110 }
|
1.4.4