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

fltrimpl.h

00001 #ifndef CRYPTOPP_FLTRIMPL_H
00002 #define CRYPTOPP_FLTRIMPL_H
00003 
00004 #define FILTER_BEGIN    \
00005         switch (m_continueAt)   \
00006         {       \
00007         case 0: \
00008                 m_inputPosition = 0;
00009 
00010 #define FILTER_END_NO_MESSAGE_END_NO_RETURN     \
00011                 break;  \
00012         default:        \
00013                 assert(false);  \
00014         }
00015 
00016 #define FILTER_END_NO_MESSAGE_END       \
00017         FILTER_END_NO_MESSAGE_END_NO_RETURN     \
00018         return 0;
00019 
00020 #define FILTER_END      \
00021         case -1:        \
00022                 if (Output(-1, NULL, 0, messageEnd, blocking))  \
00023                         return 1;       \
00024         FILTER_END_NO_MESSAGE_END
00025 
00026 #define FILTER_OUTPUT2(site, statement, output, length, messageEnd)     \
00027         {\
00028         case site:      \
00029         statement;      \
00030         if (Output(site, output, length, messageEnd, blocking)) \
00031                 return STDMAX(1U, (unsigned int)length-m_inputPosition);\
00032         }
00033 
00034 #define FILTER_OUTPUT(site, output, length, messageEnd) \
00035         FILTER_OUTPUT2(site, 0, output, length, messageEnd)
00036 
00037 #define FILTER_OUTPUT_BYTE(site, output)        \
00038         FILTER_OUTPUT(site, &(const byte &)(byte)output, 1, 0)
00039 
00040 #endif

Generated on Tue Jul 8 23:34:15 2003 for Crypto++ by doxygen 1.3.2