ISIS Logo
lvDCOM
An EPICS support module to export LabVIEW values as process variables
Classes | Functions
variant_utils.cpp File Reference

Various COM utilities. More...

#include <atlbase.h>
#include <atlcom.h>
#include <atlconv.h>
#include <comdef.h>
#include <ctime>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <string>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include "variant_utils.h"

Go to the source code of this file.

Classes

struct  CPPType< vt >
 
struct  CPPType< VT_I4 >
 
struct  CPPType< VT_R4 >
 

Functions

int allocateArrayVariant (VARIANT *v, VARTYPE v_type, int *dims_array, int ndims)
 
static int accessArrayVariant (VARIANT *v, void **values, VARTYPE vt)
 
int accessArrayVariant (VARIANT *v, float **values)
 
int accessArrayVariant (VARIANT *v, double **values)
 
int accessArrayVariant (VARIANT *v, long **values)
 
int accessArrayVariant (VARIANT *v, BSTR **values)
 
int accessArrayVariant (VARIANT *v, VARIANT **values)
 
int unaccessArrayVariant (VARIANT *v)
 
int arrayVariantLength (VARIANT *v)
 
int arrayVariantDimensions (VARIANT *v, int dims_array[], int &ndims)
 
template<typename T >
int makeVariantFromArray (VARIANT *v, const std::vector< T > &the_array)
 
template<>
int makeVariantFromArray (VARIANT *v, const std::vector< std::string > &the_array)
 
template<typename T >
int makeVariantFromArray (VARIANT *v, const T *the_array, int n)
 
template<>
int makeVariantFromArray (VARIANT *v, const char *the_array, int n)
 
template int makeVariantFromArray (VARIANT *v, const std::vector< float > &the_array)
 

Detailed Description

Various COM utilities.

Author
Freddie Akeroyd, STFC ISIS Facility, GB

Definition in file variant_utils.cpp.

Function Documentation

static int accessArrayVariant ( VARIANT *  v,
void **  values,
VARTYPE  vt 
)
static

Definition at line 76 of file variant_utils.cpp.

Referenced by accessArrayVariant(), and makeVariantFromArray().

int accessArrayVariant ( VARIANT *  v,
float **  values 
)

Definition at line 95 of file variant_utils.cpp.

References accessArrayVariant().

int accessArrayVariant ( VARIANT *  v,
double **  values 
)

Definition at line 100 of file variant_utils.cpp.

References accessArrayVariant().

int accessArrayVariant ( VARIANT *  v,
long **  values 
)

Definition at line 105 of file variant_utils.cpp.

References accessArrayVariant().

int accessArrayVariant ( VARIANT *  v,
BSTR **  values 
)

Definition at line 110 of file variant_utils.cpp.

References accessArrayVariant().

int accessArrayVariant ( VARIANT *  v,
VARIANT **  values 
)

Definition at line 115 of file variant_utils.cpp.

References accessArrayVariant().

int allocateArrayVariant ( VARIANT *  v,
VARTYPE  v_type,
int *  dims_array,
int  ndims 
)

Definition at line 51 of file variant_utils.cpp.

Referenced by makeVariantFromArray().

int arrayVariantDimensions ( VARIANT *  v,
int  dims_array[],
int &  ndims 
)

Definition at line 160 of file variant_utils.cpp.

int arrayVariantLength ( VARIANT *  v)

Definition at line 131 of file variant_utils.cpp.

template<typename T >
int makeVariantFromArray ( VARIANT *  v,
const std::vector< T > &  the_array 
)

Definition at line 186 of file variant_utils.cpp.

References makeVariantFromArray().

Referenced by makeVariantFromArray().

template<>
int makeVariantFromArray ( VARIANT *  v,
const std::vector< std::string > &  the_array 
)
template<typename T >
int makeVariantFromArray ( VARIANT *  v,
const T *  the_array,
int  n 
)
template<>
int makeVariantFromArray ( VARIANT *  v,
const char *  the_array,
int  n 
)

Definition at line 242 of file variant_utils.cpp.

template int makeVariantFromArray ( VARIANT *  v,
const std::vector< float > &  the_array 
)
int unaccessArrayVariant ( VARIANT *  v)

Definition at line 120 of file variant_utils.cpp.

Referenced by makeVariantFromArray().

Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5