This is Unofficial EPICS BASE Doxygen Site
parseinto.cpp File Reference
#include <vector>
#include <sstream>
#include <pv/pvdVersion.h>
#include <pv/pvData.h>
#include <pv/valueBuilder.h>
#include <pv/bitSet.h>
#include "pv/json.h"
#include <pv/typemap.h>
+ Include dependency graph for parseinto.cpp:

Go to the source code of this file.

Namespaces

 epics
 TODO only here because of the Lockable.
 
 epics::pvData
 pvData
 

Macros

#define epicsExportSharedSymbols
 
#define TRY   context *self = (context*)ctx; assert(!self->stack.empty()); try
 
#define CATCH()   catch(std::exception& e) { if(self->msg.empty()) self->msg = e.what(); return 0; }
 
#define CASE_STRING
 
#define CASE_REAL_INT64
 
#define CASE(BASETYPE, PVATYPE, DBFTYPE, PVACODE)
 

Functions

epicsShareFunc void epics::pvData::parseJSON (std::istream &strm, PVField &dest, BitSet *assigned)
 

Macro Definition Documentation

#define CASE (   BASETYPE,
  PVATYPE,
  DBFTYPE,
  PVACODE 
)
Value:
case epics::pvData::pv##PVACODE: { \
pvd::shared_vector<const PVATYPE> arr(pvd::static_shared_vector_cast<const PVATYPE>(carr)); \
pvd::shared_vector<PVATYPE> tarr(pvd::thaw(arr)); \
tarr.push_back(pvd::castUnsafe<PVATYPE>(val)); \
carr = pvd::static_shared_vector_cast<const void>(pvd::freeze(tarr)); \
} break;
#define CASE_REAL_INT64
#define CASE_STRING
#define CATCH ( )    catch(std::exception& e) { if(self->msg.empty()) self->msg = e.what(); return 0; }

Definition at line 44 of file parseinto.cpp.

#define epicsExportSharedSymbols

Definition at line 9 of file parseinto.cpp.

#define TRY   context *self = (context*)ctx; assert(!self->stack.empty()); try

Definition at line 42 of file parseinto.cpp.