1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// -*- mode: c++ -*-
#ifndef _CACCESSORELEMENT
#define _CACCESSORELEMENT
#include "libMRML/include/uses-declarations.h"
#include <string>
#include <functional>
#include <iostream>
#include "libMRML/include/TID.h"
/** Quadruplet of Image-ID, image-URL, thumbnail-URL, feature file
name and assorted sorting functions
*/
class CAccessorElement{
/** the ID of the image*/
TID mID;
/** the URL (of the image)*/
string mURL;
/** the URL (of the thumbnail)*/
string mThumbnailURL;
/** the Feature file name (of the image)*/
string mFeatureFileName;
public:
/** Constructor */
CAccessorElement(const TID inID,
const string& inURL,
const string& inThumbnailURL,
const string& inFeatureFileName);
/** get mURL */
TID getID()const;
/** get mURL */
string getURL()const;
/** */
string getThumbnailURL()const;
/** */
string getFeatureFileName()const;
/** sorting by ID (less<TID>)*/
friend class CSortByID_CAE;
/** sorting by the URL (less<string>) */
friend class CSortByURL_CAE;
/** sorting by the URL of the thumbnail (less<string>) */
friend class CSortByThumbnailURL_CAE;
};
/** sort CAccessorElements by their ID */
class CSortByID_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
public:
/** */
bool operator()(const CAccessorElement& l,
const CAccessorElement& t)const;
};
/** sort CAccessorElements by their URL */
class CSortByURL_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
public:
/** */
bool operator()(const CAccessorElement& l,
const CAccessorElement& t)const;
};
/** sort CAccessorElements by their ThumbnailURL */
class CSortByThumbnailURL_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
public:
/** */
bool operator()(const CAccessorElement& l,
const CAccessorElement& t)const;
};
ostream& operator<<(ostream& outStream,
const CAccessorElement& inElement);
#endif
|