File: CAccessorElement.h

package info (click to toggle)
gnuift 0.1.14%2Bds-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 5,632 kB
  • ctags: 2,973
  • sloc: cpp: 15,867; sh: 8,281; ansic: 1,812; perl: 1,007; php: 651; makefile: 483; lisp: 344
file content (69 lines) | stat: -rw-r--r-- 1,934 bytes parent folder | download
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