검색결과 리스트
글
STL lower_bound function 사용하기 Sample...
Computer/C/C++
2007. 2. 27. 19:42
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
#include <vector>
#include <ostream>
#include <list>
#include <iterator>
using namespace std;
class DataTuple {
private:
int sourceID;
int value;
int high;
public:
DataTuple();
DataTuple(int sourceID, int value) {
this->sourceID = sourceID;
this->value = value;
this->high = value+10;
}
bool operator<(const int &a) const
{
return (value<=a);
}
// Getters and Setters
int getSourceID() {return sourceID;}
void setSourceID(int sourceID) {this->sourceID = sourceID;}
int getValue() {return value;}
void setValue(float value) {this->value = value;}
};
DataTuple::DataTuple(){
;
}
class Something{
public:
bool operator()(DataTuple a, DataTuple value) {
return ( a.getValue() <= value.getValue() );
}
};
int main()
// illustrate the use of the generic set algorithms
{
list<DataTuple> a;
list<DataTuple>::iterator ait, bit;
DataTuple c1 = DataTuple(1,1);
DataTuple c2 = DataTuple(2,11);
DataTuple c3 = DataTuple(3,21);
DataTuple c4 = DataTuple(4,31);
a.push_back(c1);
a.push_back(c2);
a.push_back(c3);
a.push_back(c4);
int aaa = 31;
DataTuple sample1;
sample1.setValue(30);
bit = --lower_bound(a.begin(),a.end(),sample1,Something());
cout<<bit->getSourceID()<<endl;
return 1;
}
#include <string>
#include <set>
#include <algorithm>
#include <vector>
#include <ostream>
#include <list>
#include <iterator>
using namespace std;
class DataTuple {
private:
int sourceID;
int value;
int high;
public:
DataTuple();
DataTuple(int sourceID, int value) {
this->sourceID = sourceID;
this->value = value;
this->high = value+10;
}
bool operator<(const int &a) const
{
return (value<=a);
}
// Getters and Setters
int getSourceID() {return sourceID;}
void setSourceID(int sourceID) {this->sourceID = sourceID;}
int getValue() {return value;}
void setValue(float value) {this->value = value;}
};
DataTuple::DataTuple(){
;
}
class Something{
public:
bool operator()(DataTuple a, DataTuple value) {
return ( a.getValue() <= value.getValue() );
}
};
int main()
// illustrate the use of the generic set algorithms
{
list<DataTuple> a;
list<DataTuple>::iterator ait, bit;
DataTuple c1 = DataTuple(1,1);
DataTuple c2 = DataTuple(2,11);
DataTuple c3 = DataTuple(3,21);
DataTuple c4 = DataTuple(4,31);
a.push_back(c1);
a.push_back(c2);
a.push_back(c3);
a.push_back(c4);
int aaa = 31;
DataTuple sample1;
sample1.setValue(30);
bit = --lower_bound(a.begin(),a.end(),sample1,Something());
cout<<bit->getSourceID()<<endl;
return 1;
}
compare operator에 const같은 것을 안쓰긴 했지만 아무튼...
이런식으로 사용된다.
'Computer > C/C++' 카테고리의 다른 글
#pragma (1) | 2007.08.08 |
---|---|
vprintf, vsprintf,... 가변 인수 함수. (0) | 2007.08.01 |
bitset 클래스 (0) | 2007.07.02 |
STL - MAP (0) | 2007.02.27 |
컨테이너 초기화및 Functor 예제 (0) | 2007.02.27 |