<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Copyright (C) 1992-2019 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon, and David MacKenzie. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". --> <!-- Created by GNU Texinfo 6.4, http://www.gnu.org/software/texinfo/ --> <head> <title>Nested Symbols (STABS)</title> <meta name="description" content="Nested Symbols (STABS)"> <meta name="keywords" content="Nested Symbols (STABS)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="index.html#Top" rel="start" title="Top"> <link href="Symbol-Types-Index.html#Symbol-Types-Index" rel="index" title="Symbol Types Index"> <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="Cplusplus.html#Cplusplus" rel="up" title="Cplusplus"> <link href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" rel="next" title="Basic Cplusplus Types"> <link href="Class-Names.html#Class-Names" rel="prev" title="Class Names"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <a name="Nested-Symbols"></a> <div class="header"> <p> Next: <a href="Basic-Cplusplus-Types.html#Basic-Cplusplus-Types" accesskey="n" rel="next">Basic Cplusplus Types</a>, Previous: <a href="Class-Names.html#Class-Names" accesskey="p" rel="prev">Class Names</a>, Up: <a href="Cplusplus.html#Cplusplus" accesskey="u" rel="up">Cplusplus</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Types-Index.html#Symbol-Types-Index" title="Index" rel="index">Index</a>]</p> </div> <hr> <a name="Defining-a-Symbol-Within-Another-Type"></a> <h3 class="section">8.2 Defining a Symbol Within Another Type</h3> <p>In C<tt>++</tt>, a symbol (such as a type name) can be defined within another type. </p> <p>In stabs, this is sometimes represented by making the name of a symbol which contains ‘<samp>::</samp>’. Such a pair of colons does not end the name of the symbol, the way a single colon would (see <a href="String-Field.html#String-Field">String Field</a>). I’m not sure how consistently used or well thought out this mechanism is. So that a pair of colons in this position always has this meaning, ‘<samp>:</samp>’ cannot be used as a symbol descriptor. </p> <p>For example, if the string for a stab is ‘<samp>foo::bar::baz:t5=*6</samp>’, then <code>foo::bar::baz</code> is the name of the symbol, ‘<samp>t</samp>’ is the symbol descriptor, and ‘<samp>5=*6</samp>’ is the type information. </p> </body> </html>