Michael Davidsaver de70d90603 shared_vector: simplify slice()
Correctly tracks capacity when user
over-slices.
2013-08-06 11:32:34 -04:00
2013-08-06 11:32:34 -04:00
2013-08-06 11:32:34 -04:00
2013-02-26 17:20:28 +01:00
2012-08-22 14:39:19 -04:00
2013-02-26 17:21:28 +01:00
2012-08-22 14:39:19 -04:00
2010-08-10 13:23:17 -04:00

<?xml version="1.0" encoding="iso-8859-1"?>
<!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/html; charset=iso-8859-1" />
  <title>EPICS pvData C++</title>
</head>

<body>
<h1 style="text-align: center">EPICS pvData C++<br />
Overview<br />
2010.08.10</h1>
CONTENTS 
<hr />

<h2 style="text-align: center">Introduction</h2>
<hr />

<p>This project has the begining of the C++ implementation of pvData. The
following is done:</p>
<dl>
  <dt>introspection interfaces</dt>
    <dd>The introspection interfaces for clients are described.</dd>
  <dt>introspection implementation</dt>
    <dd>The following have been implemented: Type, ScalarType, Field,
    Scalar</dd>
  <dt>test</dt>
    <dd>A test of Scalar.</dd>
  <dt>As mentioned below there are problems with the current
  implementation.</dt>
</dl>
<hr />

<h2 style="text-align: center">Building</h2>
<hr />

<p>The project is structured as an epics base client application. Edit
configure/RELEASE so that it references your EPICS base and then just
type:</p>
<pre>   make</pre>

<p>At the top. Then execute the test in the bin directory.</p>

<p>pvDataApp has the following sub directories:</p>
<dl>
  <dt>pv</dt>
    <dd>pvData.h has the interface descriptions for client code.</dd>
  <dt>factory</dt>
    <dd>FieldCreateFactory.cpp has the current implementation</dd>
  <dt>test</dt>
    <dd>Has a test for the current implementation.</dd>
</dl>
<hr />

<h2 style="text-align: center">Questions about Classes</h2>
<hr />

<p>The pure virtual classes defined in pvData.h now work. But there are still
some things that are not so nice. Amoung these are:</p>
<ul>
  <li>In FieldCreateFactory.cpp look for "WHY DO I". It asks why the derived
    class must also define methods defined in the base class. If it does not
    then a compilation error occurs. WHY??? </li>
  <li>The toString methods have an argument of "std::string &amp;buf" instead
    of "std::string *". Does this seem correct?</li>
  <li>Can arguments and return descriptions be defined better?</li>
  <li>Is const present everywhere it should be? Remember that introspection
    classes are immutable.</li>
  <li>The code is NOT thread safe. When we decide for sure what thread/lock
    support to choose I will fix this.</li>
</ul>

<p>HELP WILL BE GREATLY APPRECIATED. because I am still coming up to speed
with c++</p>
<hr />

<h2 style="text-align: center">Garbage Collection</h2>
<hr />
<p>Not yet implemented. Lets get class structure correct first.</p>
</body>
</html>
Languages
C++ 98.6%
Makefile 1%
C 0.4%