2001-03-03 10:00:31 +00:00
|
|
|
<html><head>
|
|
|
|
<title>NSFunctions</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<a href ="Base.html">[Up]</a>
|
|
|
|
<h1>NSFunctions</h1>
|
|
|
|
<h3>Authors </h3>
|
|
|
|
<dl>
|
|
|
|
<dt><a href ="http://www.gnustep.org/developers/whoiswho.html">Richard Frith-Macdonald</a>
|
|
|
|
<dd>
|
|
|
|
</dl>
|
|
|
|
<p>Version: $Revision$</p>
|
|
|
|
<p>Date: $Date$</p>
|
2001-04-10 03:27:01 +00:00
|
|
|
<h2><a name ="cont-0">Functions</a></h2>
|
2001-04-12 12:25:23 +00:00
|
|
|
<h2><a name ="function-0">GSCurrentThread</a></h2>
|
|
|
|
<p><b>Declared in: </b> Foundation/NSThread.h</p>
|
|
|
|
<b>Prototype: </b> NSThread* GSCurrentThread()<br>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
This function is a GNUstep extension. It pretty much
|
|
|
|
duplicates the functionality of [NSThread +currentThread]
|
|
|
|
but is more efficient and is used internally throughout
|
|
|
|
GNUstep.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
Returns the current thread. Could perhaps return <code>nil</code>
|
|
|
|
if executing a thread that was started outside the GNUstep
|
|
|
|
environment and not registered (this should not happen in a
|
|
|
|
well-coded application).
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<h2><a name ="function-1">GSRegisterCurrentThread</a></h2>
|
|
|
|
<p><b>Declared in: </b> Foundation/NSThread.h</p>
|
|
|
|
<b>Prototype: </b> BOOL GSRegisterCurrentThread()<br>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
This functiion is provided to let threads started by some other
|
|
|
|
software library register themselves to be used with the
|
|
|
|
GNUstep system. All such threads should call this function
|
|
|
|
before attempting to use any GNUstep objects.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
Returns <code>YES</code> if the thread can be registered,
|
|
|
|
<code>NO</code> if it is already registered.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
Sends out a <code>NSWillBecomeMultiThreadedNotification</code>
|
|
|
|
if the process was not already multithreaded.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<h2><a name ="function-2">GSUnregisterCurrentThread</a></h2>
|
|
|
|
<p><b>Declared in: </b> Foundation/NSThread.h</p>
|
|
|
|
<b>Prototype: </b> void GSUnregisterCurrentThread()<br>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
This functiion is provided to let threads started by some other
|
|
|
|
software library unregister themselves from the GNUstep threading
|
|
|
|
system.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
Calling this function causes a
|
|
|
|
<code>NSThreadWillExitNotification</code>
|
|
|
|
to be sent out, and destroys the GNUstep NSThread object
|
|
|
|
associated with the thread.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
2001-04-10 03:27:01 +00:00
|
|
|
<h2><a name ="cont-1">Types</a></h2>
|
|
|
|
<h3><a name ="NSRange">NSRange</a></h3>
|
|
|
|
<p><b>Declared in: </b> Foundation/NSRange.h</p>
|
|
|
|
<b>typedef </b>
|
|
|
|
struct { unsigned long location; unsigned long length; }
|
|
|
|
NSRange<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
The NSRange type is used to specify ranges of locations,
|
|
|
|
typically items in an array, characters in a string, and bytes
|
|
|
|
in a data object.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
As 'boundary' or 'fencepost' errors are a particularly common
|
|
|
|
problem in programming, it is important that you understand
|
|
|
|
how an NSRange works.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
|
|
|
An NSRange consists of a location and a length. The points
|
|
|
|
that are considered to lie in a range are the integers from
|
|
|
|
the location to the location plus the length, so the number
|
|
|
|
of points in a range is the length of the range plus one.<br>
|
|
|
|
However, if you consider these points like the marks on a
|
|
|
|
ruler, you can only store information <strong>between</strong>
|
|
|
|
points. So the number of items that can be stored in a range
|
|
|
|
is the length of the range.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
2001-03-03 10:00:31 +00:00
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|