147 changes: 75 additions & 72 deletions doc.ddoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ DDOC=
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="keywords" content="$(META_KEYWORDS)" />
<meta name="description" content="$(META_DESCRIPTION)" />
<title>$(TITLE) - D Programming Language</title>
$(T title, $(TITLE) - D Programming Language)
<link rel="stylesheet" href="css/codemirror.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
<link rel="shortcut icon" href="favicon.ico" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="/js/codemirror-compressed.js"></script>
<script src="/js/run-main-website.js" type="text/javascript"></script>
<script src="/js/run.js" type="text/javascript"></script>
<script type="text/javascript">
$(SCRIPTLOAD https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js)
$(SCRIPTLOAD /js/codemirror-compressed.js)
$(SCRIPTLOAD /js/run-main-website.js)
$(SCRIPTLOAD /js/run.js)
$(SCRIPT
function bodyLoad()
{
var links = document.getElementById("navigation").getElementsByTagName("a");
Expand All @@ -34,30 +34,30 @@ function bodyLoad()
}
}
}
</script>
)
</head>
<body onLoad='bodyLoad()'>
<div id="top">
<div id="search-box">
$(DIVID top,
$(DIVID search-box,
<form method="get" action="http://google.com/search">
<img src="/images/search-left.gif" width="11" height="22" /><input id="q" name="q" /><input type="image" id="search-submit" name="submit" src="/images/search-button.gif" />
<img src="http://dlang.org/images/search-left.gif" width="11" height="22" /><input id="q" name="q" /><input type="image" id="search-submit" name="submit" src="http://dlang.org/images/search-button.gif" />
<input type="hidden" id="domains" name="domains" value="dlang.org" />
<input type="hidden" id="sourceid" name="sourceid" value="google-search" />
<div id="search-dropdown">
$(DIVID search-dropdown,
<select id="sitesearch" name="sitesearch" size="1">
<option value="dlang.org">Entire D Site</option>
<option value="dlang.org/phobos">Library Reference</option>
<option value="digitalmars.com/d/archives">Newsgroup Archives</option>
</select>
</div>
)
</form>
</div>
<div id="header">
<a id="d-language" href="/">
<img id="logo" width="125" height="95" border="0" alt="D Logo" src="/images/dlogo.png">
)
$(DIVID header,
<a id="d-language" href="http://dlang.org">
<img id="logo" width="125" height="95" border="0" alt="D Logo" src="http://dlang.org/images/dlogo.png">
D Programming Language</a>
</div>
</div>
)
)
$(BODY)
$(FOOTER)
</body>
Expand All @@ -69,24 +69,24 @@ _=

NAVIGATION_COMMUNITY=
$(DIVC navblock,
$(UL
$(TOCENTRY comparison.html, D Feature List)
$(TOCENTRY builtin.html, Rationale for Builtins)
$(TOCENTRY ctod.html, Converting C to D)
$(TOCENTRY cpptod.html, Converting C++ to D)
$(TOCENTRY pretod.html, The C Preprocessor vs D)
$(TOCENTRY cppcontracts.html, D Contract Programming vs C++)
)
$(UL $(TOCENTRIES
comparison, D Feature List,
builtin, Rationale for Builtins,
ctod, Converting C to D,
cpptod, Converting C++ to D,
pretod, The C Preprocessor vs D,
cppcontracts, D Contract Programming vs C++
))
)
$(BOOKS)
$(TRANSLATIONS)
_=

NAVIGATION=
$(NAVBLOCK_HEADER $(TOCHEADERL index.html, D Programming Language, D $(LATEST)),
$(TOCENTRYTH download.html, Download a D compiler, $(SPANC emph,Download), $(CATEGORY_DOWNLOAD $(SUBNAV_DOWNLOAD)))
$(TOCENTRYTH overview.html, D language overview, Overview, $(CATEGORY_OVERVIEW $(SUBNAV_OVERVIEW)))
$(TOCENTRYTH comparison.html, D feature list, Features, $(CATEGORY_FEATURES $(SUBNAV_FEATURES)))
$(TOCENTRYTH download.html, Download a D compiler, Downloads &amp; Tools, $(CATEGORY_DOWNLOAD $(SUBNAV_DOWNLOAD)))
$(TOCENTRYT changelog.html, History of changes to D, Change Log)
$(TOCENTRYT bugstats.php, D issue and bug tracking system, Bug Tracker)
$(TOCENTRYTH faq.html, Frequently Asked Questions, FAQ, $(CATEGORY_FAQ $(SUBNAV_FAQ)))
Expand All @@ -103,7 +103,7 @@ $(NAVBLOCK_HEADER $(TOCHEADER Documentation),
$(TOCENTRY phobos/index.html, Library Reference)
$(TOCENTRY library/index.html, &nbsp;<font size=-1><span style="visibility: hidden">3</span>Preview new Layout</font>)

$(TOCENTRYTH howtos.html, Helps for using D, How-tos)
$(TOCENTRYTH howtos.html, Helps for using D, How-tos, )
$(TOCENTRYH articles.html, Articles, $(CATEGORY_ARTICLES $(SUBNAV_ARTICLES)))
)
$(NAVBLOCK_HEADER $(TOCHEADER $(LINK2 $(VISUALD), Visual D)),
Expand All @@ -123,10 +123,12 @@ SUBNAV_OVERVIEW=
$(NAVBLOCK
$(TOCENTRYT wc.html, wc - the wordcount program, Example: wc)
$(TOCENTRYT warnings.html, Explanation of D compiler generated warning messages, Warnings)
$(TOCENTRY builtin.html, Rationale for Builtins)
$(TOCENTRY ctod.html, Converting C to D)
$(TOCENTRY cpptod.html, Converting C++ to D)
$(TOCENTRY pretod.html, The C Preprocessor vs D)
$(TOCENTRIES
builtin, Rationale for Builtins,
ctod, Converting C to D,
cpptod, Converting C++ to D,
pretod, The C Preprocessor vs D
)
)
_=

Expand Down Expand Up @@ -171,46 +173,47 @@ $(NAVBLOCK
_=

SUBNAV_SPEC=
$(NAVBLOCK
$(TOCENTRY intro.html, Introduction)
$(TOCENTRY lex.html, Lexical)
$(TOCENTRY grammar.html, Grammar)
$(TOCENTRY module.html, Modules)
$(TOCENTRY declaration.html, Declarations)
$(TOCENTRY type.html, Types)
$(TOCENTRY property.html, Properties)
$(TOCENTRY attribute.html, Attributes)
$(TOCENTRY pragma.html, Pragmas)
$(TOCENTRY expression.html, Expressions)
$(TOCENTRY statement.html, Statements)
$(TOCENTRY arrays.html, Arrays)
$(TOCENTRY hash-map.html, Associative Arrays)
$(TOCENTRY struct.html, Structs &amp; Unions)
$(TOCENTRY class.html, Classes)
$(TOCENTRY interface.html, Interfaces)
$(TOCENTRY enum.html, Enums)
$(TOCENTRY const3.html, Const and Immutable)
$(TOCENTRY function.html, Functions)
$(TOCENTRY operatoroverloading.html, Operator Overloading)
$(TOCENTRY template.html, Templates)
$(TOCENTRY template-mixin.html, Template Mixins)
$(TOCENTRY contracts.html, Contracts)
$(TOCENTRY version.html, Conditional Compilation)
$(TOCENTRY traits.html, Traits)
$(TOCENTRY errors.html, Handling errors)
$(TOCENTRY unittest.html, Unit Tests)
$(TOCENTRY garbage.html, Garbage Collection)
$(TOCENTRY float.html, Floating Point)
$(TOCENTRY iasm.html, Inline Assembler)
$(TOCENTRY ddoc.html, Documentation Comments)
$(TOCENTRY interfaceToC.html, Interfacing To C)
$(TOCENTRY cpp_interface.html, Interfacing To C++)
$(TOCENTRY portability.html, Portability Guide)
$(TOCENTRY entity.html, Named Character Entities)
$(TOCENTRY memory-safe-d.html, Memory Safe D Spec)
$(TOCENTRY abi.html, Application Binary Interface)
$(TOCENTRY simd.html, Vector Extensions)
$(NAVBLOCK $(TOCENTRIES
intro, Introduction,
lex, Lexical,
grammar, Grammar,
module, Modules,
declaration, Declarations,
type, Types,
property, Properties,
attribute, Attributes,
pragma, Pragmas,
expression, Expressions,
statement, Statements,
arrays, Arrays,
hash-map, Associative Arrays,
struct, Structs &amp; Unions,
class, Classes,
interface, Interfaces,
enum, Enums,
const3, Const and Immutable,
function, Functions,
operatoroverloading, Operator Overloading,
template, Templates,
template-mixin, Template Mixins,
contracts, Contracts,
version, Conditional Compilation,
traits, Traits,
errors, Handling errors,
unittest, Unit Tests,
garbage, Garbage Collection,
float, Floating Point,
iasm, Inline Assembler,
ddoc, Documentation Comments,
interfaceToC, Interfacing To C,
cpp_interface, Interfacing To C++,
portability, Portability Guide,
entity, Named Character Entities,
memory-safe-d, Memory Safe D Spec,
abi, Application Binary Interface,
simd, Vector Extensions
)
)
_=

SUBNAV_ARTICLES=
Expand Down Expand Up @@ -260,7 +263,7 @@ AMAZONLINK= $(WEB amazon.com/exec/obidos/ASIN/$1/classicempire, $+)
_=

TRANSLATIONS=
<script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/translatemypage.xml&up_source_language=en&w=160&h=60&title=&border=&output=js"></script>
$(SCRIPTLOAD http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/translatemypage.xml&up_source_language=en&w=160&h=60&title=&border=&output=js)
_=

CATEGORY_APPENDICES=
Expand Down
2 changes: 1 addition & 1 deletion entity.dd
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ $(GNAME NamedCharacterEntity):
$(P D supports the full list of named character entities from HTML 5. However,
dmd does not yet support named entities which contain multiple code points.
Below is a $(I partial) list of the named character entities. See the
$(XLINK2 http://w3.org/TR/html5/syntax.html#named-character-references, HTML 5 Spec)
$(LINK2 http://w3.org/TR/html5/syntax.html#named-character-references, HTML 5 Spec)
for the full list.
)

Expand Down
2 changes: 1 addition & 1 deletion errors.dd
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Ddoc

$(SPEC_S Error Handling,

$(BLOCKQUOTE Julius C'ster,
$(BLOCKQUOTE_BY Julius C'ster,
I came, I coded, I crashed.
)

Expand Down
2 changes: 1 addition & 1 deletion expression.dd
Original file line number Diff line number Diff line change
Expand Up @@ -766,7 +766,7 @@ $(GNAME ArgumentList):
$(P If there is a $(D new $(LPAREN)) $(GLINK ArgumentList) $(D $(RPAREN)),
then
those arguments are passed to the class or struct specific
$(XLINK2 class.html#allocators, allocator function) after the size argument.
$(LINK2 class.html#allocators, allocator function) after the size argument.
)

$(P If a $(I NewExpression) is used as an initializer for
Expand Down
2 changes: 1 addition & 1 deletion faq.dd
Original file line number Diff line number Diff line change
Expand Up @@ -852,7 +852,7 @@ $(ITEM minimum precision, Why allow $(D cast(float)) if it isn't supposed to wor
mind:
)

$(BLOCKQUOTE_PLAIN An algorithm is invalid if it breaks if the floating point precision is
$(BLOCKQUOTE An algorithm is invalid if it breaks if the floating point precision is
increased. Floating point precision is always a minimum, not a maximum.)

$(P Programs that legitimately depended on maximum precision are:)
Expand Down
6 changes: 3 additions & 3 deletions garbage.dd
Original file line number Diff line number Diff line change
Expand Up @@ -383,9 +383,9 @@ $(H2 D Operations That Involve the Garbage Collector)
$(H2 References)

$(UL
$(LI $(XLINK2 http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29, Wikipedia))
$(LI $(XLINK2 http://www.iecc.com/gclist/GC-faq.html, GC FAQ))
$(LI $(XLINK2 ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps, Uniprocessor Garbage Collector Techniques))
$(LI $(LINK2 http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29, Wikipedia))
$(LI $(LINK2 http://www.iecc.com/gclist/GC-faq.html, GC FAQ))
$(LI $(LINK2 ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps, Uniprocessor Garbage Collector Techniques))
$(LI $(AMAZONLINK 0471941484, Garbage Collection : Algorithms for Automatic Dynamic Memory Management))
)

Expand Down
20 changes: 10 additions & 10 deletions grammar.dd
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ $(SPEC_S Grammar,

$(H3 Lexical Syntax)

$(P Refer to the page for $(XLINK2 lex.html, lexical syntax).)
$(P Refer to the page for $(LINK2 lex.html, lexical syntax).)

$(H3 $(LNAME2 type, Type))

Expand Down Expand Up @@ -312,9 +312,9 @@ $(GNAME PrimaryExpression):
$(D .) $(IDENTIFIER)
$(GLINK TemplateInstance)
$(D .) $(GLINK TemplateInstance)
$(XLINK2 expression.html#this, $(D this))
$(XLINK2 expression.html#super, $(D super))
$(XLINK2 expression.html#null, $(D null))
$(LINK2 expression.html#this, $(D this))
$(LINK2 expression.html#super, $(D super))
$(LINK2 expression.html#null, $(D null))
$(D true)
$(D false)
$(D $)
Expand Down Expand Up @@ -499,11 +499,11 @@ $(GNAME TraitsArgument):

$(GRAMMAR
$(GNAME SpecialKeyword):
$(D $(XLINK2 traits.html#specialkeywords, __FILE__))
$(D $(XLINK2 traits.html#specialkeywords, __MODULE__))
$(D $(XLINK2 traits.html#specialkeywords, __LINE__))
$(D $(XLINK2 traits.html#specialkeywords, __FUNCTION__))
$(D $(XLINK2 traits.html#specialkeywords, __PRETTY_FUNCTION__))
$(D $(LINK2 traits.html#specialkeywords, __FILE__))
$(D $(LINK2 traits.html#specialkeywords, __MODULE__))
$(D $(LINK2 traits.html#specialkeywords, __LINE__))
$(D $(LINK2 traits.html#specialkeywords, __FUNCTION__))
$(D $(LINK2 traits.html#specialkeywords, __PRETTY_FUNCTION__))
)

$(H3 $(LNAME2 statement, Statement))
Expand Down Expand Up @@ -1790,5 +1790,5 @@ Macros:
PSSEMI=$(GLINK NoScopeStatement)
PSCURLY_PSSCOPE=$(GLINK ScopeBlockStatement)
PSCURLYSCOPE=$(GLINK NonEmptyOrScopeBlockStatement)
TRAITS_LINK2=$(XLINK2 traits.html#$1, $(D $1))
TRAITS_LINK2=$(LINK2 traits.html#$1, $(D $1))
GLINK_LEX=$(GLINK2 lex, $1)
91 changes: 46 additions & 45 deletions html.ddoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,55 @@ _=Simple tags, ordered alphabetically
A = <a href="$1">$+</a>
ADEF = <a name="$0"></a>
AHTTP = <a href="http://$1">$+</a>
AHTTPS = <a href="https://$1">$+</a>
ALOCAL = <a href="#$1">$+</a>
BIG = <big>$0</big>
AHTTPS = <a class="https" href="https://$1">$+</a>
ALOCAL = <a class="anchor" title="Permalink" href="#$1">$+</a>
BIG = $(T big, $0)
BR = <br>
CAPTION = <caption>$0</caption>
CAPTION = $(T caption, $0)
CHECKMARK = &#10004;
DD = <dd>$0</dd>
DD = $(T dd, $0)
DIV = <div $1>$+</div>
DIVC = $(DIV class="$1", $+)
DIVC = $(TC div, $1, $+)
DIVCID = $(DIV class="$1" id="$2", $3)
DIVID = $(DIV id="$1", $+)
DL = <dl>$0</dl>
DL = $(T dl, $0)
DOUBLEQUOTE = $(LDQUO)$0$(RDQUO)
DT = <dt>$0</dt>
DT = $(T dt, $0)
ENUMERATE = $(OL $(ITEMS_HELPER $1, $+))
GREATER = &gt;
ITEMIZE = $(UL $(ITEMS_HELPER $1, $+))
ITEMS_HELPER = $(LI $1)$(ITEMS_HELPER $+)
H1 = <h1>$0</h1>
H2 = <h2>$0</h2>
H3 = <h3>$0</h3>
H4 = <h4>$0</h4>
H5 = <h5>$0</h5>
H1 = $(T h1, $0)
H2 = $(T $0)
H3 = $(T h3, $0)
H4 = $(T h4, $0)
H5 = $(T h5, $0)
HR = <hr>
I = <i>$0</i>
LI = <li>$0</li>
I = $(T i, $0)
LI = $(T li, $0)
LESS = &lt;
OL = <ol>$0</ol>
P = <p>$0</p>
PRE = <pre>$0</pre>
OL = $(T ol, $0)
P = $(T p, $0)
PRE = $(T pre, $0)
SCRIPT = <script type="text/javascript">$0</script>
SINGLEQUOTE = $(LSQUO)$0$(RSQUO)
SMALL = <small>$0</small>
SMALL = $(T small, $0)
SPAN = <span $1>$+</span>
SPANC = $(SPAN class="$1", $+)
SUBSCRIPT = <sub>$0</sub>
SUPERSCRIPT = <sup>$0</sup>
TABLE = <table>$0</table>
TABLEC = <table class="$1">$+</table>
TD = <td>$0</td>
SPANC = $(TC span, $1, $+)
SUBSCRIPT = $(T sub, $0)
SUPERSCRIPT = $(T sup, $0)
TABLE = $(T table, $0)
TABLEC = $(T table, $1, $+)
T=<$1>$+</$1>
TC=<$1 class="$2">$(TAIL $+)</$1>
TD = $(T td, $0)
TD_HELPER = $(TD $1)$(TD_HELPER $+)
TH_HELPER = $(TH $1)$(TH_HELPER $+)
THEAD = $(TR $(TH_HELPER $1, $+))
TR = <tr>$0</tr>
TT = <tt>$0</tt>
U = <u>$0</u>
UL = <ul>$0</ul>
TR = $(T tr, $0)
TT = $(T tt, $0)
U = $(T u, $0)
UL = $(T ul, $0)
_=

_=Defining anchors and linking
Expand All @@ -66,12 +68,12 @@ _=

_=Colors

RED = <span style="color:red">$0</span>
GREEN = <span style="color:green">$0</span>
BLUE = <span style="color:blue">$0</span>
YELLOW = <span style="color:yellow">$0</span>
BLACK = <span style="color:black">$0</span>
WHITE = <span style="color:white">$0</span>
RED = $(SPAN style="color:red", $0)
GREEN = $(SPAN style="color:green", $0)
BLUE = $(SPAN style="color:blue", $0)
YELLOW = $(SPAN style="color:yellow", $0)
BLACK = $(SPAN style="color:black", $0)
WHITE = $(SPAN style="color:white", $0)
_=

_=Explanatory stuff of the kind "Throws: blah" or "Returns:
Expand All @@ -84,7 +86,7 @@ _=

_=Predefined D-related stuff

D_CODE = <pre class="d_code">$0</pre>
D_CODE = $(TC pre, d_code, $0)
D_COMMENT = $(SPANC d_comment, $0)
D_STRING = $(SPANC d_string, $0)
D_KEYWORD = $(SPANC d_keyword, $0)
Expand All @@ -94,14 +96,13 @@ _=

_=Main entry point

DDOC = <html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/html.css" />
<title>$(TITLE)</title>
</head><body>
$(H1 $(TITLE))
$(BODY)
</body></html>
DDOC = $(T html,
$(T head,
<META http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/html.css" />
$(T title, $(TITLE))
)
$(T body, $(H1 $(TITLE))$(BODY)))
_=

_=DDoc-related stuff
Expand Down Expand Up @@ -155,7 +156,7 @@ DDOC_PARAM_DESC = $(TD $0)
DDOC_BLANKLINE = $(BR)$(BR)
_=

DDOC_ANCHOR = <a name="$1"></a>
DDOC_ANCHOR = $(ADEF $1)
DDOC_PSYMBOL = $(U $0)
DDOC_KEYWORD = $(B $0)
DDOC_PARAM = $(I $0)
Expand Down
2 changes: 1 addition & 1 deletion index.dd
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ $(P The K&amp;R of D is here! Get $(AMAZONLINK 0321635361, The D
Programming Language) by Andrei Alexandrescu&mdash;the authoritative
source on everything D. From the book's introduction:

$(BLOCKQUOTE $(AMAZONLINK 0321635361, The D Programming Language) by
$(BLOCKQUOTE_BY $(AMAZONLINK 0321635361, The D Programming Language) by
Andrei Alexandrescu, D is a language that attempts to consistently do
the right thing within the constraints it chose: system-level access
to computing resources, high performance, and syntactic similarity
Expand Down
2 changes: 1 addition & 1 deletion interface.dd
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ $(SECTION2 $(LEGACY_LNAME2 COM-Interfaces, com-interfaces, COM Interfaces),
)

$(P For more information, see
$(XLINK2 http://lunesu.com/uploads/ModernCOMProgramminginD.pdf, Modern COM Programming in D)
$(LINK2 http://lunesu.com/uploads/ModernCOMProgramminginD.pdf, Modern COM Programming in D)
)

)
Expand Down
16 changes: 8 additions & 8 deletions interfaceToC.dd
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ int myDfunction(char[] s)
with the same name.)

$(LI There are no $(D __cdecl), $(D __far), $(D __stdcall),
$(XLINK2
$(LINK2
http://www.digitalmars.com/ctg/ctgLanguageImplementation.html#declspec,
$(D __declspec)),
or other such C
$(XLINK2 http://www.digitalmars.com/ctg/ctgLanguageImplementation.html#extended, extended type modifiers)
$(LINK2 http://www.digitalmars.com/ctg/ctgLanguageImplementation.html#extended, extended type modifiers)
in D. These are handled by
$(DPLLINK attribute.html#linkage, linkage attributes),
such as $(D extern (C)).)
Expand Down Expand Up @@ -84,8 +84,8 @@ extern (C)
$(H2 Storage Allocation)

$(P C code explicitly manages memory with calls to
$(XLINK2 http://www.digitalmars.com/rtl/stdlib.html#malloc, malloc()) and
$(XLINK2 http://www.digitalmars.com/rtl/stdlib.html#free, free()).
$(LINK2 http://www.digitalmars.com/rtl/stdlib.html#malloc, malloc()) and
$(LINK2 http://www.digitalmars.com/rtl/stdlib.html#free, free()).
D allocates memory using the D garbage collector,
so no explicit free's are necessary.
)
Expand Down Expand Up @@ -209,7 +209,7 @@ extern (C)
$(H2 Calling printf())

$(P This mostly means checking that the
$(XLINK2 http://www.digitalmars.com/rtl/stdio.html#printf, printf format specifier)
$(LINK2 http://www.digitalmars.com/rtl/stdio.html#printf, printf format specifier)
matches the corresponding D data type.
Although printf is designed to handle 0 terminated strings,
not D dynamic arrays of chars, it turns out that since D
Expand Down Expand Up @@ -249,7 +249,7 @@ $(H2 Structs and Unions)

$(P D does not support bit fields. If needed, they can be emulated
with shift and mask operations,
or use the $(XLINK2 phobos/std_bitmanip.html#bitfields, std.bitmanip.bitfields)
or use the $(LINK2 phobos/std_bitmanip.html#bitfields, std.bitmanip.bitfields)
library type.
$(DPLLINK htod.html, htod) will convert bit fields to inline functions that
do the right shift and masks.
Expand Down Expand Up @@ -323,7 +323,7 @@ void main()
}
---

$(P For more info about callbacks read the $(XLINK2 function.html#closures, closures) section.)
$(P For more info about callbacks read the $(LINK2 function.html#closures, closures) section.)

$(H2 $(LEGACY_LNAME2 Using C Libraries, using-c-libraries, Using Existing C Libraries))

Expand All @@ -334,7 +334,7 @@ $(H2 $(LEGACY_LNAME2 Using C Libraries, using-c-libraries, Using Existing C Libr
)

$(P For popular C libraries, the first place to look for the corresponding
D interface file is the $(XLINK2 https://github.com/D-Programming-Deimos/, Deimos Project).
D interface file is the $(LINK2 https://github.com/D-Programming-Deimos/, Deimos Project).
If it isn't there already, and you write one, please contribute it
to the Deimos Project.
)
Expand Down
9 changes: 3 additions & 6 deletions latex.ddoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ BLACK={\color{black}$0}
BLUE={\color{blue}$0}
_=

BLOCKQUOTE=\begin{quote}
BLOCKQUOTE_BY=\begin{quote}
$(I $+)
\par
\hspace\fill -- $(I $1)
Expand Down Expand Up @@ -67,7 +67,7 @@ DDOC_COMMENT=% $0
DDOC_KEYWORD=$0
DDOC_UNDEFINED_MACRO = $(DDOC_COMMENT UNDEFINED MACRO: $1)
DDOCCODE=$(D_CODE $0)
DDSUBLINK=$(XLINK2 $1.html#$2, $3)
DDSUBLINK=$(LINK2 $1.html#$2, $3)
_=

DL=\begin{description}
Expand All @@ -76,7 +76,7 @@ $0
_=

DOLLAR=\$
DPLLINK=$(XLINK2 http://dlang.org/$1, $2)
DPLLINK=$(LINK2 http://dlang.org/$1, $2)
DT=\item $(B $0)
_=

Expand Down Expand Up @@ -365,9 +365,6 @@ YELLOW={\color{yellow}$0}
YES=$(CHECKMARK)
_=

XLINK2=\href{$1}{$+}
_=

_=*****************************************************************************
_=Entry point.
_=*****************************************************************************
Expand Down
268 changes: 134 additions & 134 deletions lex.dd
Original file line number Diff line number Diff line change
Expand Up @@ -954,137 +954,137 @@ $(H3 Keywords)
$(GRAMMAR
$(GNAME Keyword):
$(MULTICOLS 4,
$(XLINK2 attribute.html#abstract, $(D abstract))
$(XLINK2 declaration.html#alias, $(D alias))
$(XLINK2 iasm.html#IntegerExpression, $(D align))
$(XLINK2 statement.html#AsmStatement, $(D asm))
$(XLINK2 expression.html#AssertExpression, $(D assert))
$(XLINK2 attribute.html#auto, $(D auto))

$(XLINK2 function.html#BodyStatement, $(D body))
$(XLINK2 type.html, $(D bool))
$(XLINK2 statement.html#BreakStatement, $(D break))
$(XLINK2 type.html, $(D byte))

$(XLINK2 statement.html#SwitchStatement, $(D case))
$(XLINK2 expression.html#CastExpression, $(D cast))
$(XLINK2 statement.html#TryStatement, $(D catch))
$(XLINK2 type.html, $(D cdouble))
$(XLINK2 type.html, $(D cent))
$(XLINK2 type.html, $(D cfloat))
$(XLINK2 type.html, $(D char))
$(XLINK2 class.html, $(D class))
$(XLINK2 attribute.html#const, $(D const))
$(XLINK2 statement.html#ContinueStatement, $(D continue))
$(XLINK2 type.html, $(D creal))

$(XLINK2 type.html, $(D dchar))
$(XLINK2 version.html#debug, $(D debug))
$(XLINK2 statement.html#SwitchStatement, $(D default))
$(XLINK2 type.html#delegates, $(D delegate))
$(XLINK2 expression.html#DeleteExpression, $(D delete)) ($(XLINK2 deprecate.html#delete, deprecated))
$(XLINK2 attribute.html#deprecated, $(D deprecated))
$(XLINK2 statement.html#DoStatement, $(D do))
$(XLINK2 type.html, $(D double))

$(XLINK2 statement.html#IfStatement, $(D else))
$(XLINK2 enum.html, $(D enum))
$(XLINK2 attribute.html#ProtectionAttribute, $(D export))
$(XLINK2 attribute.html#linkage, $(D extern))

$(XLINK2 type.html, $(D false))
$(XLINK2 class.html#final, $(D final))
$(XLINK2 statement.html#TryStatement, $(D finally))
$(XLINK2 type.html, $(D float))
$(XLINK2 statement.html#ForStatement, $(D for))
$(XLINK2 statement.html#ForeachStatement, $(D foreach))
$(XLINK2 statement.html#ForeachStatement, $(D foreach_reverse))
$(XLINK2 expression.html#FunctionLiteral, $(D function))

$(XLINK2 statement.html#GotoStatement, $(D goto))

$(XLINK2 type.html, $(D idouble))
$(XLINK2 statement.html#IfStatement, $(D if))
$(XLINK2 type.html, $(D ifloat))
$(XLINK2 attribute.html#immutable, $(D immutable))
$(XLINK2 expression.html#ImportExpression, $(D import))
$(XLINK2 expression.html#InExpression, $(D in))
$(XLINK2 function.html#inout-functions, $(D inout))
$(XLINK2 type.html, $(D int))
$(XLINK2 interface.html, $(D interface))
$(XLINK2 contracts.html, $(D invariant))
$(XLINK2 type.html, $(D ireal))
$(XLINK2 expression.html#IsExpression, $(D is))

$(XLINK2 function.html#overload-sets, $(D lazy))
$(XLINK2 type.html, $(D long))
$(LINK2 attribute.html#abstract, $(D abstract))
$(LINK2 declaration.html#alias, $(D alias))
$(LINK2 iasm.html#IntegerExpression, $(D align))
$(LINK2 statement.html#AsmStatement, $(D asm))
$(LINK2 expression.html#AssertExpression, $(D assert))
$(LINK2 attribute.html#auto, $(D auto))

$(LINK2 function.html#BodyStatement, $(D body))
$(LINK2 type.html, $(D bool))
$(LINK2 statement.html#BreakStatement, $(D break))
$(LINK2 type.html, $(D byte))

$(LINK2 statement.html#SwitchStatement, $(D case))
$(LINK2 expression.html#CastExpression, $(D cast))
$(LINK2 statement.html#TryStatement, $(D catch))
$(LINK2 type.html, $(D cdouble))
$(LINK2 type.html, $(D cent))
$(LINK2 type.html, $(D cfloat))
$(LINK2 type.html, $(D char))
$(LINK2 class.html, $(D class))
$(LINK2 attribute.html#const, $(D const))
$(LINK2 statement.html#ContinueStatement, $(D continue))
$(LINK2 type.html, $(D creal))

$(LINK2 type.html, $(D dchar))
$(LINK2 version.html#debug, $(D debug))
$(LINK2 statement.html#SwitchStatement, $(D default))
$(LINK2 type.html#delegates, $(D delegate))
$(LINK2 expression.html#DeleteExpression, $(D delete)) ($(LINK2 deprecate.html#delete, deprecated))
$(LINK2 attribute.html#deprecated, $(D deprecated))
$(LINK2 statement.html#DoStatement, $(D do))
$(LINK2 type.html, $(D double))

$(LINK2 statement.html#IfStatement, $(D else))
$(LINK2 enum.html, $(D enum))
$(LINK2 attribute.html#ProtectionAttribute, $(D export))
$(LINK2 attribute.html#linkage, $(D extern))

$(LINK2 type.html, $(D false))
$(LINK2 class.html#final, $(D final))
$(LINK2 statement.html#TryStatement, $(D finally))
$(LINK2 type.html, $(D float))
$(LINK2 statement.html#ForStatement, $(D for))
$(LINK2 statement.html#ForeachStatement, $(D foreach))
$(LINK2 statement.html#ForeachStatement, $(D foreach_reverse))
$(LINK2 expression.html#FunctionLiteral, $(D function))

$(LINK2 statement.html#GotoStatement, $(D goto))

$(LINK2 type.html, $(D idouble))
$(LINK2 statement.html#IfStatement, $(D if))
$(LINK2 type.html, $(D ifloat))
$(LINK2 attribute.html#immutable, $(D immutable))
$(LINK2 expression.html#ImportExpression, $(D import))
$(LINK2 expression.html#InExpression, $(D in))
$(LINK2 function.html#inout-functions, $(D inout))
$(LINK2 type.html, $(D int))
$(LINK2 interface.html, $(D interface))
$(LINK2 contracts.html, $(D invariant))
$(LINK2 type.html, $(D ireal))
$(LINK2 expression.html#IsExpression, $(D is))

$(LINK2 function.html#overload-sets, $(D lazy))
$(LINK2 type.html, $(D long))

$(D macro) (unused)
$(XLINK2 expression.html#MixinExpression, $(D mixin))
$(XLINK2 module.html#ModuleDeclaration, $(D module))

$(XLINK2 expression.html#NewExpression, $(D new))
$(XLINK2 function.html#nothrow-functions, $(D nothrow))
$(XLINK2 expression.html#null, $(D null))

$(XLINK2 function.html#OutStatement, $(D out))
$(XLINK2 attribute.html#override, $(D override))

$(XLINK2 attribute.html#ProtectionAttribute, $(D package))
$(XLINK2 pragma.html, $(D pragma))
$(XLINK2 attribute.html#ProtectionAttribute, $(D private))
$(XLINK2 attribute.html#ProtectionAttribute, $(D protected))
$(XLINK2 attribute.html#ProtectionAttribute, $(D public))
$(XLINK2 function.html#pure-functions, $(D pure))

$(XLINK2 type.html, $(D real))
$(XLINK2 function.html#ref-functions, $(D ref))
$(XLINK2 statement.html#ReturnStatement, $(D return))

$(XLINK2 statement.html#ScopeGuardStatement, $(D scope))
$(XLINK2 attribute.html#shared, $(D shared))
$(XLINK2 type.html, $(D short))
$(XLINK2 version.html#staticif, $(D static))
$(XLINK2 struct.html, $(D struct))
$(XLINK2 expression.html#super, $(D super))
$(XLINK2 statement.html#SwitchStatement, $(D switch))
$(XLINK2 statement.html#SynchronizedStatement, $(D synchronized))

$(XLINK2 template.html, $(D template))
$(XLINK2 expression.html#this, $(D this))
$(XLINK2 statement.html#ThrowStatement, $(D throw))
$(XLINK2 type.html, $(D true))
$(XLINK2 statement.html#TryStatement, $(D try))
$(XLINK2 deprecate.html#typedef, $(D typedef)) (deprecated)
$(XLINK2 expression.html#TypeidExpression, $(D typeid))
$(XLINK2 declaration.html#Typeof, $(D typeof))

$(XLINK2 type.html, $(D ubyte))
$(XLINK2 type.html, $(D ucent))
$(XLINK2 type.html, $(D uint))
$(XLINK2 type.html, $(D ulong))
$(XLINK2 struct.html, $(D union))
$(XLINK2 unittest.html, $(D unittest))
$(XLINK2 type.html, $(D ushort))

$(XLINK2 version.html#version, $(D version))
$(XLINK2 declaration.html#VoidInitializer, $(D void))
$(XLINK2 ctod.html#volatile, $(D volatile)) ($(XLINK2 deprecate.html#volatile, deprecated))

$(XLINK2 type.html, $(D wchar))
$(XLINK2 statement.html#WhileStatement, $(D while))
$(XLINK2 statement.html#WithStatement, $(D with))

$(XLINK2 traits.html#specialkeywords, $(D __FILE__))
$(XLINK2 traits.html#specialkeywords, $(D __MODULE__))
$(XLINK2 traits.html#specialkeywords, $(D __LINE__))
$(XLINK2 traits.html#specialkeywords, $(D __FUNCTION__))
$(XLINK2 traits.html#specialkeywords, $(D __PRETTY_FUNCTION__))

$(XLINK2 attribute.html#gshared, $(D __gshared))
$(XLINK2 traits.html, $(D __traits))
$(XLINK2 phobos/core_simd.html#.Vector, $(D __vector))
$(XLINK2 expression.html#IsExpression, $(D __parameters))
$(LINK2 expression.html#MixinExpression, $(D mixin))
$(LINK2 module.html#ModuleDeclaration, $(D module))

$(LINK2 expression.html#NewExpression, $(D new))
$(LINK2 function.html#nothrow-functions, $(D nothrow))
$(LINK2 expression.html#null, $(D null))

$(LINK2 function.html#OutStatement, $(D out))
$(LINK2 attribute.html#override, $(D override))

$(LINK2 attribute.html#ProtectionAttribute, $(D package))
$(LINK2 pragma.html, $(D pragma))
$(LINK2 attribute.html#ProtectionAttribute, $(D private))
$(LINK2 attribute.html#ProtectionAttribute, $(D protected))
$(LINK2 attribute.html#ProtectionAttribute, $(D public))
$(LINK2 function.html#pure-functions, $(D pure))

$(LINK2 type.html, $(D real))
$(LINK2 function.html#ref-functions, $(D ref))
$(LINK2 statement.html#ReturnStatement, $(D return))

$(LINK2 statement.html#ScopeGuardStatement, $(D scope))
$(LINK2 attribute.html#shared, $(D shared))
$(LINK2 type.html, $(D short))
$(LINK2 version.html#staticif, $(D static))
$(LINK2 struct.html, $(D struct))
$(LINK2 expression.html#super, $(D super))
$(LINK2 statement.html#SwitchStatement, $(D switch))
$(LINK2 statement.html#SynchronizedStatement, $(D synchronized))

$(LINK2 template.html, $(D template))
$(LINK2 expression.html#this, $(D this))
$(LINK2 statement.html#ThrowStatement, $(D throw))
$(LINK2 type.html, $(D true))
$(LINK2 statement.html#TryStatement, $(D try))
$(LINK2 deprecate.html#typedef, $(D typedef)) (deprecated)
$(LINK2 expression.html#TypeidExpression, $(D typeid))
$(LINK2 declaration.html#Typeof, $(D typeof))

$(LINK2 type.html, $(D ubyte))
$(LINK2 type.html, $(D ucent))
$(LINK2 type.html, $(D uint))
$(LINK2 type.html, $(D ulong))
$(LINK2 struct.html, $(D union))
$(LINK2 unittest.html, $(D unittest))
$(LINK2 type.html, $(D ushort))

$(LINK2 version.html#version, $(D version))
$(LINK2 declaration.html#VoidInitializer, $(D void))
$(LINK2 ctod.html#volatile, $(D volatile)) ($(LINK2 deprecate.html#volatile, deprecated))

$(LINK2 type.html, $(D wchar))
$(LINK2 statement.html#WhileStatement, $(D while))
$(LINK2 statement.html#WithStatement, $(D with))

$(LINK2 traits.html#specialkeywords, $(D __FILE__))
$(LINK2 traits.html#specialkeywords, $(D __MODULE__))
$(LINK2 traits.html#specialkeywords, $(D __LINE__))
$(LINK2 traits.html#specialkeywords, $(D __FUNCTION__))
$(LINK2 traits.html#specialkeywords, $(D __PRETTY_FUNCTION__))

$(LINK2 attribute.html#gshared, $(D __gshared))
$(LINK2 traits.html, $(D __traits))
$(LINK2 phobos/core_simd.html#.Vector, $(D __vector))
$(LINK2 expression.html#IsExpression, $(D __parameters))
))

$(H3 Globally Defined Symbols)
Expand All @@ -1094,12 +1094,12 @@ $(H3 Globally Defined Symbols)
$(GRAMMAR
$(GNAME Symbols):
$(MULTICOLS 4,
$(D $(XLINK2 arrays.html#strings, string)) (alias to immutable(char)[]) <!-- This is important; people want to know these things up front. -->
$(D $(XLINK2 arrays.html#strings, wstring)) (alias to immutable(wchar)[])
$(D $(XLINK2 arrays.html#strings, dstring)) (alias to immutable(dchar)[])
$(D $(LINK2 arrays.html#strings, string)) (alias to immutable(char)[]) <!-- This is important; people want to know these things up front. -->
$(D $(LINK2 arrays.html#strings, wstring)) (alias to immutable(wchar)[])
$(D $(LINK2 arrays.html#strings, dstring)) (alias to immutable(dchar)[])

$(D $(XLINK2 type.html#size_t, size_t))
$(D $(XLINK2 type.html#ptrdiff_t, ptrdiff_t))
$(D $(LINK2 type.html#size_t, size_t))
$(D $(LINK2 type.html#ptrdiff_t, ptrdiff_t))
))

$(H3 $(LNAME2 specialtokens, Special Tokens))
Expand Down
9 changes: 5 additions & 4 deletions macros.ddoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
_=Fundamental macros that apply to all generated formats

DOLLAR = $
COMMA = ,
ARGS = $0
RPAREN = )
LPAREN = (
COMMA = ,
COMMENT =
DOLLAR = $
LPAREN = (
RPAREN = )
TAIL = $+
_=
6 changes: 3 additions & 3 deletions operatoroverloading.dd
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ $(OL
---

$(P Alternatively, you can declare a single templated $(D opEquals)
function with an $(XLINK2 template.html#auto-ref-parameters, auto ref)
function with an $(LINK2 template.html#auto-ref-parameters, auto ref)
parameter:)
---
struct S
Expand Down Expand Up @@ -460,8 +460,8 @@ $(H2 $(LEGACY_LNAME2 FunctionCall, function-call, Function Call Operator Overloa
)

$(P Note that merely declaring $(D opCall) automatically disables
$(XLINK2 struct.html#StructLiteral, struct literal) syntax.
To avoid the limitation, you need to also declare a $(XLINK2 struct.html#Struct-Constructor,
$(LINK2 struct.html#StructLiteral, struct literal) syntax.
To avoid the limitation, you need to also declare a $(LINK2 struct.html#Struct-Constructor,
constructor) so that it takes priority over $(D opCall) in $(D Type(...)) syntax.
)

Expand Down
2 changes: 1 addition & 1 deletion sitemap-template.dd
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ $(D_S Sitemap, $(LINKS))
Macros:
TITLE=Sitemap
WIKI=Sitemap
LINKS=
LINKS=
84 changes: 41 additions & 43 deletions spec.dd
Original file line number Diff line number Diff line change
Expand Up @@ -3,55 +3,53 @@ Ddoc
$(TOC Table of Contents,

$(P This is the specification for the D Programming Language.
For more information see
$(LINK2 http://dlang.org, dlang.org).
)
For more information see $(AHTTP dlang.org, dlang.org).)

$(NOT_EBOOK $(P This is also available as a
$(LINK2 dlangspec.pdf, PDF document), a
$(LINK2 dlangspec.mobi, Mobi ebook) or as a
$(AMAZONLINK B005CCQPKK, Kindle ebook).))

$(UL
$(TOCENTRY intro, Introduction)
$(TOCENTRY lex, Lexical)
$(TOCENTRY grammar, Grammar)
$(TOCENTRY module, Modules)
$(TOCENTRY declaration, Declarations)
$(TOCENTRY type, Types)
$(TOCENTRY property, Properties)
$(TOCENTRY attribute, Attributes)
$(TOCENTRY pragma, Pragmas)
$(TOCENTRY expression, Expressions)
$(TOCENTRY statement, Statements)
$(TOCENTRY arrays, Arrays)
$(TOCENTRY hash-map, Associative Arrays)
$(TOCENTRY struct, Structs and Unions)
$(TOCENTRY class, Classes)
$(TOCENTRY interface, Interfaces)
$(TOCENTRY enum, Enums)
$(TOCENTRY const3, Const and Immutable)
$(TOCENTRY function, Functions)
$(TOCENTRY operatoroverloading, Operator Overloading)
$(TOCENTRY template, Templates)
$(TOCENTRY template-mixin, Template Mixins)
$(TOCENTRY contracts, Contract Programming)
$(TOCENTRY version, Conditional Compilation)
$(TOCENTRY traits, Traits)
$(TOCENTRY errors, Error Handling)
$(TOCENTRY unittest, Unit Tests)
$(TOCENTRY garbage, Garbage Collection)
$(TOCENTRY float, Floating Point)
$(TOCENTRY iasm, D x86 Inline Assembler)
$(TOCENTRY ddoc, Embedded Documentation)
$(TOCENTRY interfaceToC, Interfacing to C)
$(TOCENTRY cpp_interface, Interfacing to C++)
$(TOCENTRY portability, Portability Guide)
$(TOCENTRY entity, Named Character Entities)
$(TOCENTRY memory-safe-d, Memory Safety)
$(TOCENTRY abi, Application Binary Interface)
$(TOCENTRY simd, Vector Extensions)
)
$(UL $(TOCENTRIES
intro, Introduction,
lex, Lexical,
grammar, Grammar,
module, Modules,
declaration, Declarations,
type, Types,
property, Properties,
attribute, Attributes,
pragma, Pragmas,
expression, Expressions,
statement, Statements,
arrays, Arrays,
hash-map, Associative Arrays,
struct, Structs and Unions,
class, Classes,
interface, Interfaces,
enum, Enums,
const3, Const and Immutable,
function, Functions,
operatoroverloading, Operator Overloading,
template, Templates,
template-mixin, Template Mixins,
contracts, Contract Programming,
version, Conditional Compilation,
traits, Traits,
errors, Error Handling,
unittest, Unit Tests,
garbage, Garbage Collection,
float, Floating Point,
iasm, D x86 Inline Assembler,
ddoc, Embedded Documentation,
interfaceToC, Interfacing to C,
cpp_interface, Interfacing to C++,
portability, Portability Guide,
entity, Named Character Entities,
memory-safe-d, Memory Safety,
abi, Application Binary Interface,
simd, Vector Extensions
))

)

Expand Down
4 changes: 2 additions & 2 deletions struct.dd
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ S* p; // ok, knowledge of members is not necessary
---

$(P They can be used to implement the
$(XLINK2 http://en.wikipedia.org/wiki/Opaque_pointer, PIMPL idiom).)
$(LINK2 http://en.wikipedia.org/wiki/Opaque_pointer, PIMPL idiom).)


$(H3 Static Initialization of Structs)
Expand Down Expand Up @@ -268,7 +268,7 @@ $(H3 $(LEGACY_LNAME2 StructLiteral, struct-literal, Struct Literals))
$(P Struct literals are syntactically like function calls.
If a struct has a member function named $(CODE opCall), then
struct literals for that struct are not possible. See also
$(XLINK2 operatoroverloading.html#FunctionCall, opCall operator overloading)
$(LINK2 operatoroverloading.html#FunctionCall, opCall operator overloading)
for the issue workaround.
It is an error if there are more arguments than fields of
the struct.
Expand Down
5 changes: 2 additions & 3 deletions template.dd
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ Ddoc

$(SPEC_S Templates,

$(BLOCKQUOTE
I think that I can safely say that nobody understands C++ template mechanics. -- Richard Deyman
)
$(BLOCKQUOTE_BY Richard Deyman,
I think that I can safely say that nobody understands C++ template mechanics.)

$(P Templates are D's approach to generic programming.
Templates are defined with a $(I TemplateDeclaration):
Expand Down
2 changes: 1 addition & 1 deletion templates-revisited.dd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ $(I by Walter Bright, $(LINK http://www.digitalmars.com/d))
<br>
<br>

$(BLOCKQUOTE Richard Deeman,
$(BLOCKQUOTE_BY Richard Deeman,
What I am going to tell you about is what we teach our programming students in
the third or fourth year of graduate school... It is my task to convince you not
to turn away because you don't understand it. You see my programming students
Expand Down
8 changes: 4 additions & 4 deletions traits.dd
Original file line number Diff line number Diff line change
Expand Up @@ -176,16 +176,16 @@ $(H2 $(GNAME isFinalClass))
$(H2 $(GNAME isPOD))

$(P Takes one argument, which must be a type. It returns
$(D true) if the type is a $(XLINK2 glossary.html#pod, POD) type, otherwise $(D false).)
$(D true) if the type is a $(LINK2 glossary.html#pod, POD) type, otherwise $(D false).)

$(H2 $(GNAME isNested))

$(P Takes one argument.
It returns $(D true) if the argument is a nested type which internally
stores a context pointer, otherwise it returns $(D false).
Nested types can be $(XLINK2 class.html#nested, classes),
$(XLINK2 struct.html#nested, structs), and
$(XLINK2 function.html#variadicnested, functions).)
Nested types can be $(LINK2 class.html#nested, classes),
$(LINK2 struct.html#nested, structs), and
$(LINK2 function.html#variadicnested, functions).)

$(H2 $(GNAME isVirtualFunction))

Expand Down