File indexing completed on 2024-04-06 12:21:38
0001 #ifndef INTERFACE_RBCINPUT_H
0002 #define INTERFACE_RBCINPUT_H 1
0003
0004
0005 #include <cstdlib>
0006 #include <istream>
0007 #include <ostream>
0008 #include <iostream>
0009 #include <bitset>
0010 #include <vector>
0011 #include <array>
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 class RBCInput {
0023 public:
0024
0025 RBCInput() {
0026 needmapping = false;
0027 m_debug = false;
0028 hasData = false;
0029 };
0030
0031 RBCInput(const RBCInput &) = default;
0032 RBCInput(RBCInput &&) = default;
0033 RBCInput &operator=(const RBCInput &) = default;
0034 RBCInput &operator=(RBCInput &&) = default;
0035
0036
0037 friend std::istream &operator>>(std::istream &istr, RBCInput &);
0038 friend std::ostream &operator<<(std::ostream &ostr, RBCInput const &);
0039
0040 bool input[30];
0041 std::array<std::bitset<15>, 2> input_sec;
0042
0043 void printinfo() const { std::cout << "RBCInput: " << (*this); };
0044
0045 void mask(const std::vector<int> &);
0046
0047 void force(const std::vector<int> &);
0048
0049 bool hasData;
0050 bool needmapping;
0051
0052 void setWheelId(int wid) { m_wheelId = wid; };
0053
0054 int wheelId() const { return m_wheelId; };
0055
0056 private:
0057 bool m_debug;
0058
0059 int m_wheelId;
0060 };
0061 #endif