Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 54cac1c2268db633d66eeff1b4faa585 > files > 395

frepple-doc-0.8.1-3.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>C++ API frePPLe: frepple::utils::NonCopyable Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="../styles.css" rel="stylesheet"  type="text/css">
</head>
<body>
<div id="container">

<div id="menubar"> 
<div id="logo" align="center">
<br/><img src='../frepple.bmp' alt="frepple" /><br/>
<a href='http://www.frepple.com/'>
<strong>a Free<br/>Production Planning<br/>Library</strong>
</a>
</div>
<div id="menu">
<br/>
<h3><a href='../Main/HomePage.html'>Main</a></h3>
<h3><a href='../UI/Main.html'>User Manual</a></h3>
<h3><a href='../Tutorial/Main.html'>Tutorial</a></h3>
<h3><a href='../Frepple/Main.html'>Reference Manual</a></h3>
<h3><a href='../Main/FAQ.html'>FAQ</a></h3>
<h3><a href='index.html'>C++ API</a></h3>
<br/>
</div>  
</div>

<div id="content">
<br/>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00257.html">utils</a>::<a class="el" href="a00119.html">NonCopyable</a>
  </div>
</div>
<div class="contents">
<h1>frepple::utils::NonCopyable Class Reference</h1><!-- doxytag: class="frepple::utils::NonCopyable" -->
<p>Class <a class="el" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to...">NonCopyable</a> is a base class.<br/>
Derive your own class from it when you want to prohibit copy construction and copy assignment.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00252_source.html">utils.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for frepple::utils::NonCopyable:</div>
<div class="dynsection">
<div class="center"><img src="a00608.png" border="0" usemap="#frepple_1_1utils_1_1_non_copyable_inherit__map" alt="Inheritance graph"/></div>
<map name="frepple_1_1utils_1_1_non_copyable_inherit__map" id="frepple_1_1utils_1_1_non_copyable_inherit__map">
<area shape="rect" id="node3" href="a00004.html" title="This class represents a time bucket as a part of a calendar." alt="" coords="339,5,507,33"/>
<area shape="rect" id="node7" href="a00125.html" title="An operationplan is the key dynamic element of a plan. It represents a certain quantity..." alt="" coords="348,55,497,83"/>
<area shape="rect" id="node9" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan." alt="" coords="365,106,480,134"/>
<area shape="rect" id="node11" href="a00079.html" title="This abstract class is the base class used for callbacks." alt="" coords="351,157,495,185"/>
<area shape="rect" id="node13" href="a00085.html" title="Base class for objects using a string as their primary key." alt="" coords="329,207,516,235"/>
<area shape="rect" id="node15" href="a00096.html" title="This class defines a keyword for the frePPLe data model." alt="" coords="348,258,497,286"/>
<area shape="rect" id="node17" href="a00115.html" title="This class stores metadata about the classes in the library. The stored information..." alt="" coords="343,309,503,337"/>
<area shape="rect" id="node19" href="a00117.html" title="This class is a wrapper around platform specific mutex functions." alt="" coords="355,359,491,387"/>
<area shape="rect" id="node21" href="a00150.html" title="Template class to define Python extensions." alt="" coords="308,410,537,438"/>
<area shape="rect" id="node23" href="a00155.html" title="This class is a thin wrapper around the type information in Python." alt="" coords="339,461,507,489"/>
<area shape="rect" id="node25" href="a00163.html" title="This is a convenience class that makes it easy (and exception&#45;safe) to lock a mutex..." alt="" coords="323,511,523,539"/>
<area shape="rect" id="node27" href="a00058.html" title="Base class for nodes in the timeline." alt="" coords="303,562,543,590"/>
<area shape="rect" id="node29" href="a00181.html" title="This class implements a binary tree data structure. It is used as a container for..." alt="" coords="361,613,484,641"/>
<area shape="rect" id="node31" href="a00186.html" title="This class will read in an XML&#45;file and call the appropriate handler functions of..." alt="" coords="347,663,499,691"/>
<area shape="rect" id="node33" href="a00085.html" title="frepple::utils::HasName\&lt; Buffer \&gt;" alt="" coords="316,714,529,742"/>
<area shape="rect" id="node35" href="a00085.html" title="frepple::utils::HasName\&lt; Calendar \&gt;" alt="" coords="307,765,539,793"/>
<area shape="rect" id="node37" href="a00085.html" title="frepple::utils::HasName\&lt; Customer \&gt;" alt="" coords="305,815,540,843"/>
<area shape="rect" id="node39" href="a00085.html" title="frepple::utils::HasName\&lt; Demand \&gt;" alt="" coords="309,866,536,894"/>
<area shape="rect" id="node41" href="a00085.html" title="frepple::utils::HasName\&lt; Item \&gt;" alt="" coords="320,917,525,945"/>
<area shape="rect" id="node43" href="a00085.html" title="frepple::utils::HasName\&lt; Location \&gt;" alt="" coords="308,967,537,995"/>
<area shape="rect" id="node45" href="a00085.html" title="frepple::utils::HasName\&lt; Operation \&gt;" alt="" coords="305,1018,540,1046"/>
<area shape="rect" id="node47" href="a00085.html" title="frepple::utils::HasName\&lt; Resource \&gt;" alt="" coords="305,1069,540,1097"/>
<area shape="rect" id="node49" href="a00085.html" title="frepple::utils::HasName\&lt; SetupMatrix \&gt;" alt="" coords="297,1119,548,1147"/>
<area shape="rect" id="node51" href="a00085.html" title="frepple::utils::HasName\&lt; Solver \&gt;" alt="" coords="315,1170,531,1198"/>
<area shape="rect" id="node53" href="a00150.html" title="frepple::utils::PythonExtension\&lt; BufferIterator \&gt;" alt="" coords="275,1221,571,1249"/>
<area shape="rect" id="node55" href="a00150.html" title="frepple::utils::PythonExtension\&lt; CalendarBucketIterator \&gt;" alt="" coords="245,1271,600,1299"/>
<area shape="rect" id="node57" href="a00150.html" title="frepple::utils::PythonExtension\&lt; CalendarEventIterator \&gt;" alt="" coords="251,1322,595,1350"/>
<area shape="rect" id="node59" href="a00150.html" title="frepple::utils::PythonExtension\&lt; CalendarIterator \&gt;" alt="" coords="267,1373,579,1401"/>
<area shape="rect" id="node61" href="a00150.html" title="frepple::utils::PythonExtension\&lt; CustomerIterator \&gt;" alt="" coords="264,1423,581,1451"/>
<area shape="rect" id="node63" href="a00150.html" title="frepple::utils::PythonExtension\&lt; DemandIterator \&gt;" alt="" coords="268,1474,577,1502"/>
<area shape="rect" id="node65" href="a00150.html" title="frepple::utils::PythonExtension\&lt; DemandPlanIterator \&gt;" alt="" coords="255,1525,591,1553"/>
<area shape="rect" id="node67" href="a00150.html" title="frepple::utils::PythonExtension\&lt; FlowIterator \&gt;" alt="" coords="279,1575,567,1603"/>
<area shape="rect" id="node69" href="a00150.html" title="frepple::utils::PythonExtension\&lt; FlowPlanIterator \&gt;" alt="" coords="265,1626,580,1654"/>
<area shape="rect" id="node71" href="a00150.html" title="frepple::utils::PythonExtension\&lt; FreppleCategory\&lt; T \&gt; \&gt;" alt="" coords="249,1677,596,1705"/>
<area shape="rect" id="node73" href="a00150.html" title="frepple::utils::PythonExtension\&lt; FreppleClass\&lt; ME, BASE \&gt; \&gt;" alt="" coords="229,1727,616,1755"/>
<area shape="rect" id="node75" href="a00150.html" title="frepple::utils::PythonExtension\&lt; ItemIterator \&gt;" alt="" coords="279,1778,567,1806"/>
<area shape="rect" id="node77" href="a00150.html" title="frepple::utils::PythonExtension\&lt; LoadIterator \&gt;" alt="" coords="277,1829,568,1857"/>
<area shape="rect" id="node79" href="a00150.html" title="frepple::utils::PythonExtension\&lt; LoadPlanIterator \&gt;" alt="" coords="265,1879,580,1907"/>
<area shape="rect" id="node81" href="a00150.html" title="frepple::utils::PythonExtension\&lt; LocationIterator \&gt;" alt="" coords="267,1930,579,1958"/>
<area shape="rect" id="node83" href="a00150.html" title="frepple::utils::PythonExtension\&lt; ME \&gt;" alt="" coords="301,1981,544,2009"/>
<area shape="rect" id="node85" href="a00150.html" title="frepple::utils::PythonExtension\&lt; OperationIterator \&gt;" alt="" coords="264,2031,581,2059"/>
<area shape="rect" id="node87" href="a00150.html" title="frepple::utils::PythonExtension\&lt; OperationPlanIterator \&gt;" alt="" coords="251,2082,595,2110"/>
<area shape="rect" id="node89" href="a00150.html" title="frepple::utils::PythonExtension\&lt; ProblemIterator \&gt;" alt="" coords="268,2133,577,2161"/>
<area shape="rect" id="node91" href="a00150.html" title="frepple::utils::PythonExtension\&lt; ResourceIterator \&gt;" alt="" coords="264,2183,581,2211"/>
<area shape="rect" id="node93" href="a00150.html" title="frepple::utils::PythonExtension\&lt; SetupMatrixIterator \&gt;" alt="" coords="257,2234,588,2262"/>
<area shape="rect" id="node95" href="a00150.html" title="frepple::utils::PythonExtension\&lt; SetupMatrixRuleIterator \&gt;" alt="" coords="244,2285,601,2313"/>
<area shape="rect" id="node97" href="a00150.html" title="frepple::utils::PythonExtension\&lt; SolverIterator \&gt;" alt="" coords="275,2335,571,2363"/>
<area shape="rect" id="node5" href="a00006.html" title="A special type of calendar bucket, designed to hold a pointer to an object." alt="" coords="664,5,944,33"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00609.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#a380562aa2d46d7bdee0a3f25b7edb124">NonCopyable</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#aa47bd7812a996c15c1e58d22fbf16e30">~NonCopyable</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Class <a class="el" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to...">NonCopyable</a> is a base class.<br/>
Derive your own class from it when you want to prohibit copy construction and copy assignment. </p>
<p>Some objects, particularly those which hold complex resources like files or network connections, have no sensible copy semantics. Sometimes there are possible copy semantics, but these would be of very limited usefulness and be very difficult to implement correctly. Sometimes you're implementing a class that doesn't need to be copied just yet and you don't want to take the time to write the appropriate functions. Deriving from noncopyable will prevent the otherwise implicitly-generated functions (which don't have the proper semantics) from becoming a trap for other programmers.<br/>
 The traditional way to deal with these is to declare a private copy constructor and copy assignment, and then document why this is done. But deriving from <a class="el" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to...">NonCopyable</a> is simpler and clearer, and doesn't require additional documentation. </p>

<p>Definition at line <a class="el" href="a00252_source.html#l00600">600</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a380562aa2d46d7bdee0a3f25b7edb124"></a><!-- doxytag: member="frepple::utils::NonCopyable::NonCopyable" ref="a380562aa2d46d7bdee0a3f25b7edb124" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::NonCopyable::NonCopyable </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l00603">603</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa47bd7812a996c15c1e58d22fbf16e30"></a><!-- doxytag: member="frepple::utils::NonCopyable::~NonCopyable" ref="aa47bd7812a996c15c1e58d22fbf16e30" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::utils::NonCopyable::~NonCopyable </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00252_source.html#l00604">604</a> of file <a class="el" href="a00252_source.html">utils.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00252_source.html">utils.h</a></li>
</ul>
</div>
<hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"/></a></small></address>
</div>
</div>
</body>
</html>