#include <iostream>
#include <vector>
#include <stdint.h>
#include <algorithm>
#include <string.h>
using namespace std;
typedef struct SidInterface {
SidInterface() {
memset ( this , 0, sizeof (SidInterface));
}
SidInterface(uint64_t s, uint32_t i) {
sid = s;
interface = i;
}
uint64_t sid;
uint32_t interface;
bool operator<( const SidInterface& tmp) const {
if (sid > tmp.sid) {
return false ;
} else if (sid <= tmp.sid) {
return true ;
} else {
return interface < tmp.interface;
}
}
bool operator==( const SidInterface& tmp) const {
return (sid == tmp.sid && interface == tmp.interface);
}
} SidInterface_T;
int main()
{
vector<SidInterface_T> vec {
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
SidInterface(4504699140857627, 4001),
SidInterface(4511296210624283, 4001),
};
sort(vec.begin(), vec.end());
auto uni = unique(vec.begin(), vec.end());
vec.erase(uni, vec.end());
}
|