My Project
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
cite.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
*
4
*
5
* Copyright (C) 2011 by Dimitri van Heesch
6
* Based on a patch by David Munger
7
*
8
* Permission to use, copy, modify, and distribute this software and its
9
* documentation under the terms of the GNU General Public License is hereby
10
* granted. No representations are made about the suitability of this software
11
* for any purpose. It is provided "as is" without express or implied warranty.
12
* See the GNU General Public License for more details.
13
*
14
* Documents produced by Doxygen are derivative works derived from the
15
* input used in their production; they are not affected by this license.
16
*
17
*/
18
19
#ifndef CITEDB_H
20
#define CITEDB_H
21
22
#include <qdict.h>
23
24
class
FTextStream
;
25
27
struct
CiteConsts
28
{
29
static
const
QCString
fileName
;
30
static
const
QCString
anchorPrefix
;
31
};
32
34
struct
CiteInfo
35
{
36
CiteInfo
(
const
char
*label_,
const
char
*text_=0,
const
char
*fullText_=0,
37
const
char
*ref_=0) :
38
label
(label_),
text
(text_),
fullText
(fullText_),
ref
(ref_)
39
{ }
40
41
CiteInfo
(
const
CiteInfo
&o)
42
{
label
=o.
label
.copy();
text
=o.
text
.copy();
fullText
=o.
fullText
.copy();
ref
=o.
ref
.copy(); }
43
44
QCString
label
;
45
QCString
text
;
46
QCString
fullText
;
47
QCString
ref
;
48
49
};
50
56
class
CiteDict
57
{
58
public
:
60
CiteDict
(
int
size);
61
62
// /** Resolve references to citations */
63
// void resolve();
64
66
void
insert
(
const
char
*label);
67
69
CiteInfo
*
find
(
const
char
*label)
const
;
70
72
void
generatePage
()
const
;
73
75
void
clear
();
76
80
bool
isEmpty
()
const
;
81
85
void
writeLatexBibliography
(
FTextStream
&t);
86
87
private
:
88
// bool writeAux();
89
// bool writeBst();
90
// bool execute();
91
// void parse();
92
// void clean();
93
QDict<CiteInfo>
m_entries
;
94
// QList<QCString> m_ordering;
95
QCString
m_baseFileName
;
96
};
97
98
#endif