summaryrefslogtreecommitdiff
path: root/strciphr.h
diff options
context:
space:
mode:
authorweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2003-05-16 00:53:53 +0000
committerweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2003-05-16 00:53:53 +0000
commitae515e0b4c86dd3309f8897f9bd4e7fedcd4588f (patch)
treeb993d0d14070142a6cb22133ae181bfd2f9db4cc /strciphr.h
parent36fa3fc2b13356f20ed58c37cdeb68c830c59829 (diff)
downloadcryptopp-ae515e0b4c86dd3309f8897f9bd4e7fedcd4588f.tar.gz
add CRYPTOPP_NO_VTABLE
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@69 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'strciphr.h')
-rw-r--r--strciphr.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/strciphr.h b/strciphr.h
index 8b3c9aa..bef2f7e 100644
--- a/strciphr.h
+++ b/strciphr.h
@@ -35,7 +35,7 @@
NAMESPACE_BEGIN(CryptoPP)
template <class POLICY_INTERFACE, class BASE = Empty>
-class AbstractPolicyHolder : public BASE
+class CRYPTOPP_NO_VTABLE AbstractPolicyHolder : public BASE
{
public:
typedef POLICY_INTERFACE PolicyInterface;
@@ -55,7 +55,7 @@ protected:
enum KeystreamOperation {WRITE_KEYSTREAM, XOR_KEYSTREAM, XOR_KEYSTREAM_INPLACE};
-struct AdditiveCipherAbstractPolicy
+struct CRYPTOPP_NO_VTABLE AdditiveCipherAbstractPolicy
{
virtual unsigned int GetAlignment() const =0;
virtual unsigned int GetBytesPerIteration() const =0;
@@ -70,7 +70,7 @@ struct AdditiveCipherAbstractPolicy
};
template <typename WT, unsigned int W, unsigned int X = 1, class BASE = AdditiveCipherAbstractPolicy>
-struct AdditiveCipherConcretePolicy : public BASE
+struct CRYPTOPP_NO_VTABLE AdditiveCipherConcretePolicy : public BASE
{
typedef WT WordType;
@@ -118,7 +118,7 @@ struct AdditiveCipherConcretePolicy : public BASE
};
template <class BASE = AbstractPolicyHolder<AdditiveCipherAbstractPolicy, TwoBases<SymmetricCipher, RandomNumberGenerator> > >
-class AdditiveCipherTemplate : public BASE
+class CRYPTOPP_NO_VTABLE AdditiveCipherTemplate : public BASE
{
public:
byte GenerateByte();
@@ -146,7 +146,7 @@ protected:
unsigned int m_leftOver;
};
-struct CFB_CipherAbstractPolicy
+struct CRYPTOPP_NO_VTABLE CFB_CipherAbstractPolicy
{
virtual unsigned int GetAlignment() const =0;
virtual unsigned int GetBytesPerIteration() const =0;
@@ -159,7 +159,7 @@ struct CFB_CipherAbstractPolicy
};
template <typename WT, unsigned int W, class BASE = CFB_CipherAbstractPolicy>
-struct CFB_CipherConcretePolicy : public BASE
+struct CRYPTOPP_NO_VTABLE CFB_CipherConcretePolicy : public BASE
{
typedef WT WordType;
@@ -211,7 +211,7 @@ struct CFB_CipherConcretePolicy : public BASE
};
template <class BASE>
-class CFB_CipherTemplate : public BASE
+class CRYPTOPP_NO_VTABLE CFB_CipherTemplate : public BASE
{
public:
void ProcessData(byte *outString, const byte *inString, unsigned int length);
@@ -233,14 +233,14 @@ protected:
};
template <class BASE = AbstractPolicyHolder<CFB_CipherAbstractPolicy, SymmetricCipher> >
-class CFB_EncryptionTemplate : public CFB_CipherTemplate<BASE>
+class CRYPTOPP_NO_VTABLE CFB_EncryptionTemplate : public CFB_CipherTemplate<BASE>
{
bool IsForwardTransformation() const {return true;}
void CombineMessageAndShiftRegister(byte *output, byte *reg, const byte *message, unsigned int length);
};
template <class BASE = AbstractPolicyHolder<CFB_CipherAbstractPolicy, SymmetricCipher> >
-class CFB_DecryptionTemplate : public CFB_CipherTemplate<BASE>
+class CRYPTOPP_NO_VTABLE CFB_DecryptionTemplate : public CFB_CipherTemplate<BASE>
{
bool IsForwardTransformation() const {return false;}
void CombineMessageAndShiftRegister(byte *output, byte *reg, const byte *message, unsigned int length);