PVData C++
8.0.6
|
#include <misc/pv/anyscalar.h>
Classes | |
struct | bad_cast |
Public Member Functions | |
AnyScalar () | |
template<typename T > | |
AnyScalar (T v) | |
Construct from provided value. | |
AnyScalar (ScalarType type, const void *buf) | |
AnyScalar (const AnyScalar &o) | |
AnyScalar & | operator= (const AnyScalar &o) |
template<typename T > | |
AnyScalar & | operator= (T v) |
void | clear () |
void | swap (AnyScalar &o) |
ScalarType | type () const |
Type code of contained value. Or (ScalarType)-1 is empty. | |
void * | unsafe () |
const void * | unsafe () const |
bool | empty () const |
operator bool_type () const | |
const void * | bufferUnsafe () const |
template<typename T > | |
detail::any_storage_type < typename meta::strip_const < T >::type >::type & | ref () |
template<typename T > | |
meta::decorate_const< typename detail::any_storage_type < typename meta::strip_const < T >::type >::type >::type & | ref () const |
template<typename T > | |
T | as () const |
Friends | |
std::ostream & | operator<< (std::ostream &strm, const AnyScalar &v) |
A type-safe variant union capable of holding any of the PVD scalar types (POD or string)
Definition at line 51 of file anyscalar.h.
|
inline |
epics::pvData::AnyScalar::AnyScalar | ( | ScalarType | type, |
const void * | buf | ||
) |
Construct from un-typed pointer. Caller is responsible to ensure that buf actually points to the provided type
|
inline |
copy out wrapped value, with a value conversion.
Definition at line 230 of file anyscalar.h.
const void* epics::pvData::AnyScalar::bufferUnsafe | ( | ) | const |
Provide read-only access to underlying buffer. For a string this is std::string::c_str().
void epics::pvData::AnyScalar::clear | ( | ) |
|
inline |
|
inline |
Return typed reference to wrapped value. Const reference does not allow modification.
bad_cast | when the requested type does not match the stored type |
Definition at line 215 of file anyscalar.h.