VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCDBDatasetInfo.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright(c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
11 
12 #pragma once
13 #include <utility>
14 #include <sstream>
15 #include <iostream>
16 #include <iomanip>
17 #include <boost/tuple/tuple.hpp>
18 #include <boost/tuple/tuple_comparison.hpp>
19 
20 namespace makVrv { namespace oe { namespace CDB
21 {
24  {
25  public:
26 
29  myDataset(0),
32  {
33  setStr();
34  };
36  DatasetInfo(int Dataset, int ComponentSelector1, int ComponentSelector2) :
37  myDataset(Dataset),
38  myComponentSelector1(ComponentSelector1),
39  myComponentSelector2(ComponentSelector2)
40  {
41  setStr();
42  };
43 
45  friend bool operator< (const DatasetInfo& lhs, const DatasetInfo& rhs)
46  {
47  return boost::tie(lhs.myDataset, lhs.myComponentSelector1, lhs.myComponentSelector2)
48  < boost::tie(rhs.myDataset, rhs.myComponentSelector1, rhs.myComponentSelector2); // keep the same order
49  }
51  friend bool operator== (const DatasetInfo& lhs, const DatasetInfo& rhs)
52  {
53  if (lhs.getDataset() == rhs.getDataset())
54  {
56  {
58  {
59  return true;
60  }
61  }
62  }
63  return false;
64  }
65 
67  std::string str() const { return myStringRepresentation; };
69  void setDatasetInfo(int Dataset, int ComponentSelector1, int ComponentSelector2)
70  {
71  myDataset = Dataset;
72  myComponentSelector1 = ComponentSelector1;
73  myComponentSelector2 = ComponentSelector2;
74  setStr();
75  };
77  void setDataset(int dataset) { myDataset = dataset; };
79  int getDataset() const { return myDataset; };
84 
85  private:
86 
88  void setStr()
89  {
90  std::stringstream format_stream_2;
91  format_stream_2 << "[D" << std::setfill('0') << std::setw(3) << myDataset; // dataset code
92  format_stream_2 << "_S" << std::setfill('0') << std::setw(3) << myComponentSelector1; // Component Selector 1
93  format_stream_2 << "_T" << std::setfill('0') << std::setw(3) << myComponentSelector2; // Component Selector 2
94  format_stream_2 << "]";
95  myStringRepresentation = format_stream_2.str();
96  };
97 
99  int myDataset;
106  };
107 } } } // namespace makVrv::oe::CDB

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)