updated for Lemma 0.2.0
authorT-bone <trevorirons@gmail.com>
Wed, 10 Jan 2018 06:19:53 +0000 (23:19 -0700)
committerT-bone <trevorirons@gmail.com>
Wed, 10 Jan 2018 06:19:53 +0000 (23:19 -0700)
14 files changed:
CMakeLists.txt
include/Coupling.h
include/DataFID.h
include/ForwardFID.h
include/KernelV0.h
include/LayeredEarthMR.h
include/LoopInteractions.h
include/MerlinObject.h
src/Coupling.cpp
src/DataFID.cpp
src/ForwardFID.cpp
src/KernelV0.cpp
src/LayeredEarthMR.cpp
src/MerlinObject.cpp

index b362cac..20a08eb 100644 (file)
@@ -1,7 +1,7 @@
 # Configure Merlin 
 set(MERLIN_VERSION_MAJOR "0")
 set(MERLIN_VERSION_MINOR "0")
-set(MERLIN_VERSION_PATCH "1")
+set(MERLIN_VERSION_PATCH "2")
 set(MERLIN_VERSION "\"${MERLIN_VERSION_MAJOR}.${MERLIN_VERSION_MINOR}.${MERLIN_VERSION_PATCH}\"")
 set(MERLIN_VERSION_NOQUOTES "${MERLIN_VERSION_MAJOR}.${MERLIN_VERSION_MINOR}.${MERLIN_VERSION_PATCH}")
 
index fa24930..887afa8 100644 (file)
@@ -43,13 +43,6 @@ namespace Lemma {
 
         friend std::ostream &operator<<(std::ostream &stream, const Coupling &ob);
 
-        protected:
-        /*
-         *  This key is used to lock the constructor. It is protected so that inhereted
-         *  classes also have the key to contruct their base class.
-         */
-        struct ctor_key {};
-
         public:
 
         // ====================  LIFECYCLE     =======================
index d242981..0548b3a 100644 (file)
@@ -43,8 +43,6 @@ namespace Lemma {
          *  This key is used to lock the constructor. It is protected so that inhereted
          *  classes also have the key to contruct their base class.
          */
-        struct ctor_key {};
-
         public:
 
         // ====================  LIFECYCLE     =======================
index c08e474..2819eab 100644 (file)
@@ -43,13 +43,6 @@ namespace Lemma {
 
         friend std::ostream &operator<<(std::ostream &stream, const ForwardFID &ob);
 
-        protected:
-        /*
-         *  This key is used to lock the constructor. It is protected so that inhereted
-         *  classes also have the key to contruct their base class.
-         */
-        struct ctor_key {};
-
         public:
 
         // ====================  LIFECYCLE     =======================
index efaa96a..ab22041 100644 (file)
@@ -67,7 +67,6 @@ namespace Lemma {
          *  This key is used to lock the constructor. It is protected so that inhereted
          *  classes also have the key to contruct their base class.
          */
-        struct ctor_key {};
 
         public:
 
index f533214..8d5ac5a 100644 (file)
@@ -37,13 +37,6 @@ namespace Lemma {
 
         friend std::ostream &operator<<(std::ostream &stream, const LayeredEarthMR &ob);
 
-        protected:
-        /*
-         *  This key is used to lock the constructor. It is protected so that inhereted
-         *  classes also have the key to contruct their base class.
-         */
-        struct ctor_key {};
-
         public:
 
         // ====================  LIFECYCLE     =======================
index 1ca5e3b..664dde0 100644 (file)
@@ -52,13 +52,6 @@ namespace Lemma {
             return stream;
         }
 
-        protected:
-        /*
-         *  This key is used to lock the constructor. It is protected so that inhereted
-         *  classes also have the key to contruct their base class.
-         */
-        struct ctor_key {};
-
         public:
 
         // ====================  LIFECYCLE     =======================
@@ -71,7 +64,7 @@ namespace Lemma {
          *       in c++-17, this curiosity may be resolved.
          * @see LoopInteractions::NewSP
          */
-        explicit LoopInteractions ( const ctor_key& ) : LemmaObject () { }
+        explicit LoopInteractions ( const ctor_key& key ) : LemmaObject (key) { }
 
         /**
          * DeSerializing constructor.
@@ -81,7 +74,7 @@ namespace Lemma {
          *       in c++-17, this curiosity may be resolved.
          * @see LoopInteractions::DeSerialize
          */
-        LoopInteractions ( const YAML::Node& node, const ctor_key& ) : LemmaObject(node) { }
+        LoopInteractions ( const YAML::Node& node, const ctor_key& key) : LemmaObject(node, key) { }
 
         /**
          * Default destructor.
index 5105288..1d9ae80 100644 (file)
@@ -37,12 +37,6 @@ namespace Lemma {
 
         friend std::ostream &operator<<(std::ostream &stream, const MerlinObject &ob);
 
-        protected:
-        /*
-         *  This key is used to lock the constructor. It is protected so that inhereted
-         *  classes also have the key to contruct their base class.
-         */
-
         public:
 
         // ====================  LIFECYCLE     =======================
@@ -55,7 +49,7 @@ namespace Lemma {
          *       in c++-17, this curiosity may be resolved.
          * @see MerlinObject::NewSP
          */
-        explicit MerlinObject ( );
+        explicit MerlinObject ( const ctor_key& key );
 
         /**
          * DeSerializing constructor.
@@ -65,7 +59,7 @@ namespace Lemma {
          *       in c++-17, this curiosity may be resolved.
          * @see MerlinObject::DeSerialize
          */
-        MerlinObject ( const YAML::Node& node );
+        MerlinObject ( const YAML::Node& node, const ctor_key& key );
 
         /**
          * Default destructor.
index b67856e..2b84978 100644 (file)
@@ -26,7 +26,7 @@ namespace Lemma {
     // ====================  FRIEND METHODS  =====================
 
     std::ostream &operator << (std::ostream &stream, const Coupling &ob) {
-        stream << ob.Serialize()  << "\n---\n"; // End of doc ---
+        stream << ob.Serialize()  << "\n"; // End of doc ---
         return stream;
     }
 
@@ -37,7 +37,7 @@ namespace Lemma {
     //      Method:  Coupling
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    Coupling::Coupling (const ctor_key&) : LemmaObject( ) {
+    Coupling::Coupling (const ctor_key& key) : LemmaObject( key ) {
 
     }  // -----  end of method Coupling::Coupling  (constructor)  -----
 
@@ -46,7 +46,7 @@ namespace Lemma {
     //      Method:  Coupling
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    Coupling::Coupling (const YAML::Node& node, const ctor_key&) : LemmaObject(node) {
+    Coupling::Coupling (const YAML::Node& node, const ctor_key& key) : LemmaObject(node, key) {
 
     }  // -----  end of method Coupling::Coupling  (constructor)  -----
 
index 23d2e36..cadc17f 100644 (file)
@@ -25,7 +25,7 @@ namespace Lemma {
     // ====================  FRIEND METHODS  =====================
 
     std::ostream &operator << (std::ostream &stream, const DataFID &ob) {
-        stream <<"%YAML 1.2\n---\n" << ob.Serialize()  << "\n"; // End of doc ---
+        stream << ob.Serialize()  << "\n";
         return stream;
     }
 
@@ -36,7 +36,7 @@ namespace Lemma {
     //      Method:  DataFID
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    DataFID::DataFID (const ctor_key&) : MerlinObject( ) {
+    DataFID::DataFID (const ctor_key& key) : MerlinObject( key ) {
 
     }  // -----  end of method DataFID::DataFID  (constructor)  -----
 
@@ -45,7 +45,7 @@ namespace Lemma {
     //      Method:  DataFID
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    DataFID::DataFID (const YAML::Node& node, const ctor_key&) : MerlinObject(node) {
+    DataFID::DataFID (const YAML::Node& node, const ctor_key& key) : MerlinObject(node, key) {
 
     }  // -----  end of method DataFID::DataFID  (constructor)  -----
 
index dae2b96..dd391af 100644 (file)
@@ -24,7 +24,7 @@ namespace Lemma {
     // ====================  FRIEND METHODS  =====================
 
     std::ostream &operator << (std::ostream &stream, const ForwardFID &ob) {
-        stream << ob.Serialize()  << "\n---\n"; // End of doc ---
+        stream << ob.Serialize()  << "\n";
         return stream;
     }
 
@@ -35,7 +35,7 @@ namespace Lemma {
     //      Method:  ForwardFID
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    ForwardFID::ForwardFID (const ctor_key&) : MerlinObject( ) {
+    ForwardFID::ForwardFID (const ctor_key& key) : MerlinObject( key ) {
 
     }  // -----  end of method ForwardFID::ForwardFID  (constructor)  -----
 
@@ -44,7 +44,7 @@ namespace Lemma {
     //      Method:  ForwardFID
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    ForwardFID::ForwardFID (const YAML::Node& node, const ctor_key&) : MerlinObject(node) {
+    ForwardFID::ForwardFID (const YAML::Node& node, const ctor_key& key) : MerlinObject(node, key) {
 
     }  // -----  end of method ForwardFID::ForwardFID  (constructor)  -----
 
index 6244ec5..85ab6a9 100644 (file)
@@ -26,7 +26,7 @@ namespace Lemma {
     // ====================  FRIEND METHODS  =====================
 
     std::ostream &operator << (std::ostream &stream, const KernelV0 &ob) {
-        stream << ob.Serialize()  << "\n---\n"; // End of doc ---
+        stream << ob.Serialize()  << "\n"; // End of doc ---
         return stream;
     }
 
@@ -37,7 +37,7 @@ namespace Lemma {
     //      Method:  KernelV0
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    KernelV0::KernelV0 (const ctor_key&) : LemmaObject( ) {
+    KernelV0::KernelV0 (const ctor_key& key) : LemmaObject( key ) {
 
     }  // -----  end of method KernelV0::KernelV0  (constructor)  -----
 
@@ -46,8 +46,7 @@ namespace Lemma {
     //      Method:  KernelV0
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    KernelV0::KernelV0 (const YAML::Node& node, const ctor_key&) : LemmaObject(node) {
-        std::cout << "Deserializing Kernel" << std::endl;
+    KernelV0::KernelV0 (const YAML::Node& node, const ctor_key& key) : LemmaObject(node, key) {
         //node["PulseType"] = "FID";
         Larmor = node["Larmor"].as<Real>();
         Temperature = node["Temperature"].as<Real>();
index ffc2497..03d2cda 100644 (file)
@@ -35,7 +35,7 @@ namespace Lemma {
     //      Method:  LayeredEarthMR
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    LayeredEarthMR::LayeredEarthMR (const ctor_key&) : LayeredEarth( ) {
+    LayeredEarthMR::LayeredEarthMR (const ctor_key& key) : LayeredEarth( key ) {
 
     }  // -----  end of method LayeredEarthMR::LayeredEarthMR  (constructor)  -----
 
@@ -44,7 +44,7 @@ namespace Lemma {
     //      Method:  LayeredEarthMR
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    LayeredEarthMR::LayeredEarthMR (const YAML::Node& node, const ctor_key&) : LayeredEarth(node) {
+    LayeredEarthMR::LayeredEarthMR (const YAML::Node& node, const ctor_key& key) : LayeredEarth(node, key) {
         Interfaces = node["Interfaces"].as<VectorXr>();
         T2StarBins = node["T2StarBins"].as<VectorXr>();
         T2StarBinEdges = node["T2StarBinEdges"].as<VectorXr>();
index 4efc508..8e169b6 100644 (file)
@@ -25,7 +25,7 @@ namespace Lemma {
     // ====================  FRIEND METHODS  =====================
 
     std::ostream &operator << (std::ostream &stream, const MerlinObject &ob) {
-        stream << ob.Serialize()  << "\n---\n"; // End of doc ---
+        stream << ob.Serialize()  << "\n"; // End of doc ---
         return stream;
     }
 
@@ -36,7 +36,7 @@ namespace Lemma {
     //      Method:  MerlinObject
     // Description:  constructor (locked)
     //--------------------------------------------------------------------------------------
-    MerlinObject::MerlinObject ( ) : LemmaObject( ) {
+    MerlinObject::MerlinObject ( const ctor_key& key ) : LemmaObject( key ) {
 
     }  // -----  end of method MerlinObject::MerlinObject  (constructor)  -----
 
@@ -45,7 +45,7 @@ namespace Lemma {
     //      Method:  MerlinObject
     // Description:  DeSerializing constructor (locked)
     //--------------------------------------------------------------------------------------
-    MerlinObject::MerlinObject (const YAML::Node& node ) : LemmaObject(node) {
+    MerlinObject::MerlinObject (const YAML::Node& node, const ctor_key& key ) : LemmaObject(node, key) {
 
     }  // -----  end of method MerlinObject::MerlinObject  (constructor)  -----
 
@@ -55,7 +55,7 @@ namespace Lemma {
     // Description:  public constructor returing a shared_ptr
     //--------------------------------------------------------------------------------------
     std::shared_ptr< MerlinObject >  MerlinObject::NewSP() {
-        return std::make_shared< MerlinObject >( );
+        return std::make_shared< MerlinObject >( ctor_key() );
     }
 
     //--------------------------------------------------------------------------------------
@@ -87,7 +87,7 @@ namespace Lemma {
         if (node.Tag() !=  "MerlinObject" ) {
             throw  DeSerializeTypeMismatch( "MerlinObject", node.Tag());
         }
-        return std::make_shared< MerlinObject > ( node );
+        return std::make_shared< MerlinObject > ( node, ctor_key() );
     }          // -----  end of method MerlinObject::DeSerialize  -----
 
 } // ----  end of namespace Lemma  ----