File: test_ref.docbook

package info (click to toggle)
source-highlight 3.1.7-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 10,332 kB
  • ctags: 5,233
  • sloc: sh: 11,270; cpp: 10,206; ansic: 9,515; makefile: 1,865; lex: 1,200; yacc: 1,021; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ml: 38; ada: 36; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 6; sed: 4
file content (126 lines) | stat: -rw-r--r-- 7,529 bytes parent folder | download | duplicates (8)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook//EN">
<article>
<articleinfo>
<title>listing in docbook</title>
</articleinfo>
<programlisting>01: <emphasis>/**</emphasis>
02: <emphasis>** Copyright (C) 1999-2007 Lorenzo Bettini</emphasis>
03: <emphasis>**  </emphasis>
04: <emphasis>  </emphasis>http://www.lorenzobettini.it
05: <emphasis>  </emphasis>
06: <emphasis>  r2 = r2 XOR (1&lt;&lt;10);</emphasis>
07: <emphasis>  cout &lt;&lt; "hello world" &lt;&lt; endl;</emphasis>
08: <emphasis>**  </emphasis>
09: <emphasis>*/</emphasis>
10: 
11: <emphasis>// this file also contains the definition of mysum as a #define</emphasis>
12: 
13: <emphasis>// textgenerator.h : Text Generator class &amp;&amp;</emphasis>
14: 
15: <emphasis role="strong">#ifndef</emphasis> _TEXTGEN_H
<link linkend='line16'>_TEXTGEN_H -> 16</link>
16: <emphasis role="strong">#define</emphasis> <anchor id="line16"/>_TEXTGEN_H
17: 
18: <emphasis role="strong">#define</emphasis> <emphasis role="strong"><anchor id="line18"/>foo</emphasis>(x) (x + 1)
19: 
20: <emphasis role="strong">#define</emphasis> <anchor id="line20"/>mysum myfunbody 
21: 
22: <emphasis role="strong">#include</emphasis> &lt;iostream.h&gt; <emphasis>// for cerr</emphasis>
23: 
24: <emphasis role="strong">#include</emphasis> "genfun.h" <emphasis>/* for generating functions */</emphasis>
25: 
26: <emphasis role="strong">class</emphasis> <anchor id="line26"/>TextGenerator {
27:   <emphasis role="strong">public</emphasis> :
28:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line28"/>generate</emphasis>( <emphasis role="strong">const</emphasis> char *s ) <emphasis role="strong">const</emphasis> { (*sout) &lt;&lt; s ; }
29:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line29"/>generate</emphasis>( <emphasis role="strong">const</emphasis> char *s, int start, int end ) <emphasis role="strong">const</emphasis> 
30:       {
31:         <emphasis role="strong">for</emphasis> ( int i = start ; i &lt;= end ; ++i )
32:           (*sout) &lt;&lt; s[i] ;
33:         <emphasis role="strong">return</emphasis> a&lt;p-&gt;b ? a : 3;
34:       }
35:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line35"/>generateln</emphasis>( <emphasis role="strong">const</emphasis> char *s ) <emphasis role="strong">const</emphasis>
36:         { 
37:             <emphasis role="strong">generate</emphasis>( s ) ;
<link linkend='line28'>generate -> 28</link>
<link linkend='line29'>generate -> 29</link>
38:             (*sout) &lt;&lt; endl ; 
39:         }
40:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line40"/>generateEntire</emphasis>( <emphasis role="strong">const</emphasis> char *s ) <emphasis role="strong">const</emphasis>
41:         {
42:             <emphasis role="strong">startTextGeneration</emphasis>() ;
<link linkend='line46'>startTextGeneration -> 46</link>
<link linkend='line70'>startTextGeneration -> 70</link>
43:             <emphasis role="strong">generate</emphasis>(s) ;
<link linkend='line28'>generate -> 28</link>
<link linkend='line29'>generate -> 29</link>
44:             <emphasis role="strong">endTextGeneration</emphasis>() ;
<link linkend='line47'>endTextGeneration -> 47</link>
<link linkend='line76'>endTextGeneration -> 76</link>
45:         }
46:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line46"/>startTextGeneration</emphasis>() <emphasis role="strong">const</emphasis> {}
47:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line47"/>endTextGeneration</emphasis>() <emphasis role="strong">const</emphasis> {}
48:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line48"/>beginText</emphasis>( <emphasis role="strong">const</emphasis> char *s ) <emphasis role="strong">const</emphasis>
49:         {
50:             <emphasis role="strong">startTextGeneration</emphasis>() ;
<link linkend='line46'>startTextGeneration -> 46</link>
<link linkend='line70'>startTextGeneration -> 70</link>
51:             <emphasis role="strong">if</emphasis> ( s )
52:                 <emphasis role="strong">generate</emphasis>( s ) ;
<link linkend='line28'>generate -> 28</link>
<link linkend='line29'>generate -> 29</link>
53:         }
54:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line54"/>endText</emphasis>( <emphasis role="strong">const</emphasis> char *s ) <emphasis role="strong">const</emphasis>
55:         {
56:             <emphasis role="strong">if</emphasis> ( s )
57:                 <emphasis role="strong">generate</emphasis>( s ) ;
<link linkend='line28'>generate -> 28</link>
<link linkend='line29'>generate -> 29</link>
58:             <emphasis role="strong">endTextGeneration</emphasis>() ;
<link linkend='line47'>endTextGeneration -> 47</link>
<link linkend='line76'>endTextGeneration -> 76</link>
59:         }
60: } ;
61: 
62: <emphasis>// Decorator</emphasis>
63: <emphasis role="strong">class</emphasis> <anchor id="line63"/>TextDecorator : <emphasis role="strong">public</emphasis> TextGenerator {
<link linkend='line26'>TextGenerator -> 26</link>
64:   <emphasis role="strong">protected</emphasis> :
65:     TextGenerator *<anchor id="line65"/>decorated ;
<link linkend='line26'>TextGenerator -> 26</link>
66:   
67:   <emphasis role="strong">public</emphasis> :
68:     <emphasis role="strong"><anchor id="line68"/>TextDecorator</emphasis>( TextGenerator *t ) : <emphasis role="strong">decorated</emphasis>( t ) {}
<link linkend='line26'>TextGenerator -> 26</link>
<link linkend='line65'>decorated -> 65</link>
69: 
70:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line70"/>startTextGeneration</emphasis>() <emphasis role="strong">const</emphasis> 
71:     { 
72:         <emphasis role="strong">startDecorate</emphasis>() ;
73:         <emphasis role="strong">if</emphasis> ( decorated )
<link linkend='line65'>decorated -> 65</link>
74:             decorated-&gt;<emphasis role="strong">startTextGeneration</emphasis>() ;
<link linkend='line46'>startTextGeneration -> 46</link>
<link linkend='line65'>decorated -> 65</link>
<link linkend='line70'>startTextGeneration -> 70</link>
75:     }
76:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong"><anchor id="line76"/>endTextGeneration</emphasis>() <emphasis role="strong">const</emphasis> 
77:     { 
78:         <emphasis role="strong">if</emphasis> ( decorated )
<link linkend='line65'>decorated -> 65</link>
79:             decorated-&gt;<emphasis role="strong">endTextGeneration</emphasis>() ;
<link linkend='line47'>endTextGeneration -> 47</link>
<link linkend='line65'>decorated -> 65</link>
<link linkend='line76'>endTextGeneration -> 76</link>
80:         <emphasis role="strong">endDecorate</emphasis>() ;
81:         mysum;
<link linkend='line20'>mysum -> 20</link>
82:     }
83: 
84:     <emphasis>// pure virtual functions</emphasis>
85:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong">startDecorate</emphasis>() <emphasis role="strong">const</emphasis> = 0 ;
86:     <emphasis role="strong">virtual</emphasis> void <emphasis role="strong">endDecorate</emphasis>() <emphasis role="strong">const</emphasis> = 0 ;
87: } ;
88: 
89: <emphasis role="strong">#endif</emphasis> <emphasis>// _TEXTGEN_H</emphasis>
90: </programlisting>
</article>