[med-svn] [aghermann] 54/85: proper operators = and == for SPattern, SScoreAssistantPPack and CStorablePPack

andrei zavada hmmr-guest at alioth.debian.org
Thu Sep 26 23:46:31 UTC 2013


This is an automated email from the git hooks/post-receive script.

hmmr-guest pushed a commit to branch master
in repository aghermann.

commit 055316afb2a0508d01310bd33f91180055d71cab
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Fri Sep 20 03:04:45 2013 +0300

    proper operators = and == for SPattern, SScoreAssistantPPack and CStorablePPack
---
 upstream/src/aghermann/expdesign/dirlevel.hh |   15 ++++++++++++++-
 upstream/src/aghermann/patterns/patterns.cc  |    2 +-
 upstream/src/aghermann/patterns/patterns.hh  |    4 +++-
 upstream/src/aghermann/rk1968/rk1968.hh      |   11 ++++++++---
 4 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/upstream/src/aghermann/expdesign/dirlevel.hh b/upstream/src/aghermann/expdesign/dirlevel.hh
index f512806..5194821 100644
--- a/upstream/src/aghermann/expdesign/dirlevel.hh
+++ b/upstream/src/aghermann/expdesign/dirlevel.hh
@@ -69,7 +69,20 @@ class CStorablePPack {
                 ED (rv.ED),
                 saved (rv.saved)
                 {}
-//        CStorablePPack& operator=( const CStorablePPack&) = delete;  // and because we cannot have identical profiles in tree
+
+        CStorablePPack&
+        operator=( const CStorablePPack& rv)
+                {
+                        subdir = rv.subdir;
+                        name = rv.name;
+                        level = rv.level;
+                        level_id.g = rv.level_id.g;
+                        level_id.j = rv.level_id.j;
+                        level_id.d = rv.level_id.d;
+                        saved = rv.saved;
+                        // leave alone config_keys and ED
+                        return *this;
+                }
 
         string  subdir,
                 name;
diff --git a/upstream/src/aghermann/patterns/patterns.cc b/upstream/src/aghermann/patterns/patterns.cc
index 380d3d4..9ba4c07 100644
--- a/upstream/src/aghermann/patterns/patterns.cc
+++ b/upstream/src/aghermann/patterns/patterns.cc
@@ -95,7 +95,7 @@ save()
 
 template <>
 int
-agh::pattern::SPattern<TFloat>::
+SPattern<TFloat>::
 load()
 {
         string msg;
diff --git a/upstream/src/aghermann/patterns/patterns.hh b/upstream/src/aghermann/patterns/patterns.hh
index 7138f76..8edd537 100644
--- a/upstream/src/aghermann/patterns/patterns.hh
+++ b/upstream/src/aghermann/patterns/patterns.hh
@@ -152,6 +152,7 @@ struct SPattern
         SPattern&
         operator=( const SPattern<T>& rv)
                 {
+                        CStorablePPack::operator=(*this);
                         thing.resize(rv.thing.size());
                         thing      = rv.thing;
                         samplerate = rv.samplerate;
@@ -164,6 +165,7 @@ struct SPattern
         SPattern&
         operator=( SPattern<T>&& rv)
                 {
+                        CStorablePPack::operator=(move(*this));
                         swap       (thing, rv.thing);
                         samplerate  = rv.samplerate;
                         context     = rv.context;
@@ -175,7 +177,7 @@ struct SPattern
 
         bool
         operator==( const SPattern<T>& rv) const
-                { return level == rv.level && name == rv.name; }
+                { return Pp == rv.Pp; }  // don't bother about CStorable nor criteria
 
         size_t
         pattern_size_essential() const
diff --git a/upstream/src/aghermann/rk1968/rk1968.hh b/upstream/src/aghermann/rk1968/rk1968.hh
index fcd173e..0c59f57 100644
--- a/upstream/src/aghermann/rk1968/rk1968.hh
+++ b/upstream/src/aghermann/rk1968/rk1968.hh
@@ -26,9 +26,14 @@ struct SScoreAssistantPPack {
         SScoreAssistantPPack ()
               : nrem3_delta_theta_ratio (1.5)
                 {}
-        explicit SScoreAssistantPPack (const SScoreAssistantPPack&) = default;
-        SScoreAssistantPPack& operator=( const SScoreAssistantPPack&) = default;
-        SScoreAssistantPPack& operator=( SScoreAssistantPPack&&) = default;
+        explicit SScoreAssistantPPack (const SScoreAssistantPPack& rv)
+              : nrem3_delta_theta_ratio (rv.nrem3_delta_theta_ratio)
+                {}
+        SScoreAssistantPPack& operator=( const SScoreAssistantPPack& rv)
+                {
+                        nrem3_delta_theta_ratio = rv.nrem3_delta_theta_ratio;
+                        return *this;
+                }
 
         bool operator==( const SScoreAssistantPPack& rv)
                 {

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list