Omnet++ Question: Using Standard Container Classes for Fields of abstract L3Address SlectedNodes[]; // will...











up vote
1
down vote

favorite












I want to use Standard Container Classes for Fields of abstract L3Address SlectedNodes; // will use std::vector? I have made the following message declaration:



enter code here



packet PacketData {
@customize(true);
abstract L3Address SlectedNodes; // will use std::vector<L3Address >
}


In the generated C++ code i write the following C++ file :



#include <iostream>
#include <sstream>
#include "PacketData_m.h"
class PacketDataPacket : public PacketData_Base
{
protected:
std::vector<L3Address> SlectedNodes;// SlectedNodes= SlectedNodes
// helper method
void unsupported() {throw cRuntimeError("unsupported method called");}
public:
// SlectedNodes methods
virtual L3Address getSlectedNodes(unsigned int k) {return SlectedNodes[k];}
virtual void setSlectedNodes(unsigned int k, const L3Address& SlectedNodes)
{SlectedNodes[k]=L3Address& SlectedNodes;}
virtual void addSlectedNodes(const L3Address& SlectedNodes)
{SlectedNodes.push_back(L3Address& SlectedNodes);}
virtual void setSlectedNodesArraySize(unsigned int size)
{SlectedNodes.resize(size);}
virtualL3Address getSlectedNodesArraySize() const {return
SlectedNodes.size();}
};
Register_Class(PacketData);


Some additional boilerplate code



 PacketData_Base::PacketData(const char *name=nullptr, int kind=0) 
:PacketData_Base(name,kind) {
}
PacketData_Base:: PacketData(constPacketData& other)
:PacketData_Base(other.getName()) {
operator=(other);
}
PacketData& operator=(const PacketData& other) {
if (&other==this) return *this;
PacketData_Base::operator=(other);
SlectedNodes = other.SlectedNodes;
}
virtualPacketData *dup() {
return newPacketData(*this);
}


Is this use of standard container classes (STL) as fields, but of
std::vector< L3Address> IntVector; is true? is there any wrong?










share|improve this question




























    up vote
    1
    down vote

    favorite












    I want to use Standard Container Classes for Fields of abstract L3Address SlectedNodes; // will use std::vector? I have made the following message declaration:



    enter code here



    packet PacketData {
    @customize(true);
    abstract L3Address SlectedNodes; // will use std::vector<L3Address >
    }


    In the generated C++ code i write the following C++ file :



    #include <iostream>
    #include <sstream>
    #include "PacketData_m.h"
    class PacketDataPacket : public PacketData_Base
    {
    protected:
    std::vector<L3Address> SlectedNodes;// SlectedNodes= SlectedNodes
    // helper method
    void unsupported() {throw cRuntimeError("unsupported method called");}
    public:
    // SlectedNodes methods
    virtual L3Address getSlectedNodes(unsigned int k) {return SlectedNodes[k];}
    virtual void setSlectedNodes(unsigned int k, const L3Address& SlectedNodes)
    {SlectedNodes[k]=L3Address& SlectedNodes;}
    virtual void addSlectedNodes(const L3Address& SlectedNodes)
    {SlectedNodes.push_back(L3Address& SlectedNodes);}
    virtual void setSlectedNodesArraySize(unsigned int size)
    {SlectedNodes.resize(size);}
    virtualL3Address getSlectedNodesArraySize() const {return
    SlectedNodes.size();}
    };
    Register_Class(PacketData);


    Some additional boilerplate code



     PacketData_Base::PacketData(const char *name=nullptr, int kind=0) 
    :PacketData_Base(name,kind) {
    }
    PacketData_Base:: PacketData(constPacketData& other)
    :PacketData_Base(other.getName()) {
    operator=(other);
    }
    PacketData& operator=(const PacketData& other) {
    if (&other==this) return *this;
    PacketData_Base::operator=(other);
    SlectedNodes = other.SlectedNodes;
    }
    virtualPacketData *dup() {
    return newPacketData(*this);
    }


    Is this use of standard container classes (STL) as fields, but of
    std::vector< L3Address> IntVector; is true? is there any wrong?










    share|improve this question


























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I want to use Standard Container Classes for Fields of abstract L3Address SlectedNodes; // will use std::vector? I have made the following message declaration:



      enter code here



      packet PacketData {
      @customize(true);
      abstract L3Address SlectedNodes; // will use std::vector<L3Address >
      }


      In the generated C++ code i write the following C++ file :



      #include <iostream>
      #include <sstream>
      #include "PacketData_m.h"
      class PacketDataPacket : public PacketData_Base
      {
      protected:
      std::vector<L3Address> SlectedNodes;// SlectedNodes= SlectedNodes
      // helper method
      void unsupported() {throw cRuntimeError("unsupported method called");}
      public:
      // SlectedNodes methods
      virtual L3Address getSlectedNodes(unsigned int k) {return SlectedNodes[k];}
      virtual void setSlectedNodes(unsigned int k, const L3Address& SlectedNodes)
      {SlectedNodes[k]=L3Address& SlectedNodes;}
      virtual void addSlectedNodes(const L3Address& SlectedNodes)
      {SlectedNodes.push_back(L3Address& SlectedNodes);}
      virtual void setSlectedNodesArraySize(unsigned int size)
      {SlectedNodes.resize(size);}
      virtualL3Address getSlectedNodesArraySize() const {return
      SlectedNodes.size();}
      };
      Register_Class(PacketData);


      Some additional boilerplate code



       PacketData_Base::PacketData(const char *name=nullptr, int kind=0) 
      :PacketData_Base(name,kind) {
      }
      PacketData_Base:: PacketData(constPacketData& other)
      :PacketData_Base(other.getName()) {
      operator=(other);
      }
      PacketData& operator=(const PacketData& other) {
      if (&other==this) return *this;
      PacketData_Base::operator=(other);
      SlectedNodes = other.SlectedNodes;
      }
      virtualPacketData *dup() {
      return newPacketData(*this);
      }


      Is this use of standard container classes (STL) as fields, but of
      std::vector< L3Address> IntVector; is true? is there any wrong?










      share|improve this question















      I want to use Standard Container Classes for Fields of abstract L3Address SlectedNodes; // will use std::vector? I have made the following message declaration:



      enter code here



      packet PacketData {
      @customize(true);
      abstract L3Address SlectedNodes; // will use std::vector<L3Address >
      }


      In the generated C++ code i write the following C++ file :



      #include <iostream>
      #include <sstream>
      #include "PacketData_m.h"
      class PacketDataPacket : public PacketData_Base
      {
      protected:
      std::vector<L3Address> SlectedNodes;// SlectedNodes= SlectedNodes
      // helper method
      void unsupported() {throw cRuntimeError("unsupported method called");}
      public:
      // SlectedNodes methods
      virtual L3Address getSlectedNodes(unsigned int k) {return SlectedNodes[k];}
      virtual void setSlectedNodes(unsigned int k, const L3Address& SlectedNodes)
      {SlectedNodes[k]=L3Address& SlectedNodes;}
      virtual void addSlectedNodes(const L3Address& SlectedNodes)
      {SlectedNodes.push_back(L3Address& SlectedNodes);}
      virtual void setSlectedNodesArraySize(unsigned int size)
      {SlectedNodes.resize(size);}
      virtualL3Address getSlectedNodesArraySize() const {return
      SlectedNodes.size();}
      };
      Register_Class(PacketData);


      Some additional boilerplate code



       PacketData_Base::PacketData(const char *name=nullptr, int kind=0) 
      :PacketData_Base(name,kind) {
      }
      PacketData_Base:: PacketData(constPacketData& other)
      :PacketData_Base(other.getName()) {
      operator=(other);
      }
      PacketData& operator=(const PacketData& other) {
      if (&other==this) return *this;
      PacketData_Base::operator=(other);
      SlectedNodes = other.SlectedNodes;
      }
      virtualPacketData *dup() {
      return newPacketData(*this);
      }


      Is this use of standard container classes (STL) as fields, but of
      std::vector< L3Address> IntVector; is true? is there any wrong?







      omnet++






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 9 at 20:20









      DaFois

      1,85041418




      1,85041418










      asked Nov 9 at 16:53









      محمد عسيري

      63




      63





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53230120%2fomnet-question-using-standard-container-classes-for-fields-of-abstract-l3addr%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53230120%2fomnet-question-using-standard-container-classes-for-fields-of-abstract-l3addr%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Tangent Lines Diagram Along Smooth Curve

          Yusuf al-Mu'taman ibn Hud

          Zucchini