summaryrefslogtreecommitdiff
path: root/modarith.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-06-03 23:17:15 -0400
committerJeffrey Walton <noloader@gmail.com>2019-06-03 23:17:15 -0400
commitf330c0eca8fa51a47b657ffdb92752f78ff9e9f7 (patch)
tree3728c202b5ba5bd1f4a1f941005587260e48e75d /modarith.h
parentc76711237a5defc6cf73d4e08d49260bb8e1f614 (diff)
downloadcryptopp-git-f330c0eca8fa51a47b657ffdb92752f78ff9e9f7.tar.gz
Clear warning on missing assignment operator
Diffstat (limited to 'modarith.h')
-rw-r--r--modarith.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/modarith.h b/modarith.h
index a00582eb..e21ba677 100644
--- a/modarith.h
+++ b/modarith.h
@@ -26,15 +26,17 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AbstractRing<Integer>;
CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain<Integer>;
/// \brief Ring of congruence classes modulo n
-/// \details This implementation represents each congruence class as the smallest
-/// non-negative integer in that class.
-/// \details <tt>const Element&</tt> returned by member functions are references
-/// to internal data members. Since each object may have only
-/// one such data member for holding results, the following code
-/// will produce incorrect results:
-/// <pre> abcd = group.Add(group.Add(a,b), group.Add(c,d));</pre>
-/// But this should be fine:
-/// <pre> abcd = group.Add(a, group.Add(b, group.Add(c,d));</pre>
+/// \details This implementation represents each congruence class as
+/// the smallest non-negative integer in that class.
+/// \details <tt>const Element&</tt> returned by member functions are
+/// references to internal data members. Since each object may have
+/// only one such data member for holding results, you should use the
+/// class like this:
+/// <pre> abcd = group.Add(a, group.Add(b, group.Add(c,d));</pre>
+/// The following code will produce incorrect results:
+/// <pre> abcd = group.Add(group.Add(a,b), group.Add(c,d));</pre>
+/// \sa <A HREF="https://cryptopp.com/wiki/Integer">Integer</A> on the
+/// Crypto++ wiki.
class CRYPTOPP_DLL ModularArithmetic : public AbstractRing<Integer>
{
public:
@@ -239,7 +241,7 @@ public:
/// \details RandomElement constructs a new element in the range <tt>[0,n-1]</tt>, inclusive.
/// The element's class must provide a constructor with the signature <tt>Element(RandomNumberGenerator rng,
/// Element min, Element max)</tt>.
- Element RandomElement(RandomNumberGenerator &rng , const RandomizationParameter &ignore_for_now = 0) const
+ Element RandomElement(RandomNumberGenerator &rng, const RandomizationParameter &ignore_for_now = 0) const
// left RandomizationParameter arg as ref in case RandomizationParameter becomes a more complicated struct
{
CRYPTOPP_UNUSED(ignore_for_now);
@@ -253,7 +255,11 @@ public:
bool operator==(const ModularArithmetic &rhs) const
{return m_modulus == rhs.m_modulus;}
- static const RandomizationParameter DefaultRandomizationParameter ;
+ static const RandomizationParameter DefaultRandomizationParameter;
+
+private:
+ // Squash warning on missing assignment operator.
+ ModularArithmetic& operator=(const ModularArithmetic &ma);
protected:
Integer m_modulus;