Perfecting IoTSlave for C++; Found one issue with SSH/Java process execution in which...
[iot2.git] / iotjava / iotruntime / cpp / setrelation / IoTRelation.hpp
index 77c8ff4e583d265516dbfa53ef5c33e475466e25..673abc42f61422f8525b652cce4748e43f853a35 100644 (file)
@@ -15,10 +15,11 @@ using namespace std;
 template <class K,class V>
 class IoTRelation {
        private:
-               unordered_multimap<K,V> rel;
+               const unordered_multimap<K,V>* rel;
        public:
                IoTRelation();
-               IoTRelation(unordered_multimap<K,V> const& s);
+               //IoTRelation(unordered_multimap<K,V> const& s);
+               IoTRelation(const unordered_multimap<K,V>* s);
                ~IoTRelation();
        public:
                typename unordered_multimap<K,V>::const_iterator find(const K& k);      // Find the object based on key
@@ -46,7 +47,8 @@ IoTRelation<K,V>::IoTRelation() {
  * Useful constructor
  */
 template <class K,class V>
-IoTRelation<K,V>::IoTRelation(const unordered_multimap<K,V>& r) {
+//IoTRelation<K,V>::IoTRelation(const unordered_multimap<K,V>& r) {
+IoTRelation<K,V>::IoTRelation(const unordered_multimap<K,V>* r) {
 
        rel = r;
 }
@@ -67,7 +69,7 @@ IoTRelation<K,V>::~IoTRelation() {
 template <class K,class V>
 typename unordered_multimap<K,V>::const_iterator IoTRelation<K,V>::find(const K& k) {
 
-       return rel.find(k);
+       return rel->find(k);
 }
 
 
@@ -77,7 +79,7 @@ typename unordered_multimap<K,V>::const_iterator IoTRelation<K,V>::find(const K&
 template <class K,class V>
 typename unordered_multimap<K,V>::const_iterator IoTRelation<K,V>::begin() {
 
-       return rel.begin();
+       return rel->begin();
 }
 
 
@@ -87,7 +89,7 @@ typename unordered_multimap<K,V>::const_iterator IoTRelation<K,V>::begin() {
 template <class K,class V>
 typename unordered_multimap<K,V>::const_iterator IoTRelation<K,V>::end() {
 
-       return rel.end();
+       return rel->end();
 }
 
 
@@ -99,7 +101,7 @@ std::pair<typename unordered_multimap<K,V>::const_iterator,
        typename unordered_multimap<K,V>::const_iterator> 
        IoTRelation<K,V>::equal_range(const K& k) {
 
-       return rel.equal_range(k);
+       return rel->equal_range(k);
 }
 
 
@@ -109,7 +111,7 @@ std::pair<typename unordered_multimap<K,V>::const_iterator,
 template <class K,class V>
 int IoTRelation<K,V>::size() {
 
-       return rel.size();
+       return rel->size();
 }
 
 
@@ -119,7 +121,7 @@ int IoTRelation<K,V>::size() {
 template <class K,class V>
 unordered_multimap<K,V> IoTRelation<K,V>::values() {
 
-       return new unordered_multimap<K,V>(rel);
+       return new unordered_multimap<K,V>(*rel);
 }
 #endif