casa
$Rev:20696$
|
#include <variant.h>
Classes | |
class | error |
class | overflow |
Public Types | |
enum | TYPE { RECORD, BOOL, INT, DOUBLE, COMPLEX, STRING, BOOLVEC, INTVEC, DOUBLEVEC, COMPLEXVEC, STRINGVEC } |
Public Member Functions | |
variant * | clone () const |
int | compare (const variant *) const |
variant () | |
variant (const variant &) | |
variant (bool arg) | |
variant (int arg) | |
variant (double arg) | |
variant (std::complex< double > arg) | |
variant (const char *arg) | |
variant (const std::string &arg) | |
variant (const std::vector< bool > &arg) | |
variant (const std::vector< bool > &arg, const std::vector< int > &theshape) | |
variant (std::vector< bool > *arg) | |
variant (std::vector< bool > *arg, std::vector< int > &theshape) | |
variant (const std::vector< int > &arg) | |
variant (const std::vector< int > &arg, const std::vector< int > &theshape) | |
variant (std::vector< int > *arg) | |
variant (std::vector< int > *arg, std::vector< int > &theshape) | |
variant (const std::vector< double > &arg) | |
variant (const std::vector< double > &arg, const std::vector< int > &theshape) | |
variant (std::vector< double > *arg) | |
variant (std::vector< double > *arg, std::vector< int > &theshape) | |
variant (const std::vector< std::complex< double > > &arg) | |
variant (const std::vector< std::complex< double > > &arg, const std::vector< int > &theshape) | |
variant (std::vector< std::complex< double > > *arg) | |
variant (std::vector< std::complex< double > > *arg, std::vector< int > &theshape) | |
variant (const std::vector< std::string > &arg, const std::vector< int > &theshape) | |
variant (const std::vector< std::string > &arg) | |
variant (std::vector< std::string > *arg) | |
variant (std::vector< std::string > *arg, std::vector< int > &theshape) | |
variant (record &arg) | |
variant (record *arg) | |
~variant () | |
bool | toBool () const |
int | toInt () const |
double | toDouble () const |
std::complex< double > | toComplex () const |
std::string | toString (bool no_brackets=false) const |
std::vector< bool > | toBoolVec () const |
std::vector< int > | toIntVec () const |
std::vector< double > | toDoubleVec () const |
std::vector< std::complex < double > > | toComplexVec () const |
std::vector< std::string > | toStringVec () const |
bool & | asBool () |
Yet to be implemented. | |
int & | asInt () |
double & | asDouble () |
std::complex< double > & | asComplex () |
std::string & | asString () |
std::vector< int > & | asIntVec (int size=-1) |
std::vector< bool > & | asBoolVec (int size=-1) |
std::vector< double > & | asDoubleVec (int size=-1) |
std::vector< std::complex < double > > & | asComplexVec (int size=-1) |
std::vector< std::string > & | asStringVec (int size=-1) |
casac::record & | asRecord () |
void | as (TYPE t, int size=-1) |
const bool | getBool () const throw (error) |
Const. | |
const int | getInt () const throw (error) |
const double | getDouble () const throw (error) |
const std::complex< double > & | getComplex () const throw (error) |
const std::string & | getString () const throw (error) |
const std::vector< int > & | getIntVec () const throw (error) |
const std::vector< bool > & | getBoolVec () const throw (error) |
const std::vector< double > & | getDoubleVec () const throw (error) |
const std::vector < std::complex< double > > & | getComplexVec () const throw (error) |
const std::vector< std::string > & | getStringVec () const throw (error) |
const record & | getRecord () const throw (error) |
const std::vector< int > & | shape () const |
const std::vector< int > & | arrayshape () const |
bool & | getBoolMod () throw (error) |
Modify. | |
int & | getIntMod () throw (error) |
double & | getDoubleMod () throw (error) |
std::complex< double > & | getComplexMod () throw (error) |
std::string & | getStringMod () throw (error) |
std::vector< int > & | getIntVecMod () throw (error) |
std::vector< bool > & | getBoolVecMod () throw (error) |
std::vector< double > & | getDoubleVecMod () throw (error) |
std::vector< std::complex < double > > & | getComplexVecMod () throw (error) |
std::vector< std::string > & | getStringVecMod () throw (error) |
record & | getRecordMod () throw (error) |
std::vector< int > & | shape () |
std::vector< int > & | arrayshape () |
const std::string & | typeString () const |
TYPE | type () const |
void | push (bool, bool conform=true) |
void | push (int, bool conform=true) |
void | push (double, bool conform=true) |
void | push (std::complex< double >, bool conform=true) |
void | push (const std::string &, bool conform=true) |
void | place (bool, unsigned int index, bool conform=true) |
void | place (int, unsigned int index, bool conform=true) |
void | place (double, unsigned int index, bool conform=true) |
void | place (std::complex< double >, unsigned int index, bool conform=true) |
void | place (const std::string &, unsigned int index, bool conform=true) |
int | size () const |
void | resize (int size) |
Static Public Member Functions | |
static TYPE | compatible_type (TYPE one, TYPE two) |
Private Member Functions | |
int | shape_size () const |
what size does the shape imply | |
int | vec_size () const |
std::string | create_message (const std::string s) const |
Private Attributes | |
TYPE | typev |
union { | |
bool b | |
std::vector< bool > * bv | |
int i | |
std::vector< int > * iv | |
double d | |
std::vector< double > * dv | |
std::complex< double > * c | |
std::vector< std::complex < double > > * cv | |
std::string * s | |
std::vector< std::string > * sv | |
record * recordv | |
} | val |
std::vector< int > | shape_ |
Static Private Attributes | |
static unsigned int | record_id_count |
4294967295 |
enum casac::variant::TYPE |
casac::variant::variant | ( | ) |
Referenced by clone().
casac::variant::variant | ( | const variant & | ) |
casac::variant::variant | ( | bool | arg | ) | [inline] |
Definition at line 39 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | int | arg | ) | [inline] |
Definition at line 40 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | double | arg | ) | [inline] |
Definition at line 41 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::complex< double > | arg | ) | [inline] |
Definition at line 42 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const char * | arg | ) | [inline] |
casac::variant::variant | ( | const std::string & | arg | ) | [inline] |
casac::variant::variant | ( | const std::vector< bool > & | arg | ) | [inline] |
Definition at line 48 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< bool > & | arg, |
const std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 50 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< bool > * | arg | ) | [inline] |
Definition at line 52 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< bool > * | arg, |
std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 54 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< int > & | arg | ) | [inline] |
Definition at line 57 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< int > & | arg, |
const std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 59 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< int > * | arg | ) | [inline] |
Definition at line 61 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< int > * | arg, |
std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 63 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< double > & | arg | ) | [inline] |
Definition at line 66 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< double > & | arg, |
const std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 68 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< double > * | arg | ) | [inline] |
Definition at line 70 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< double > * | arg, |
std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 72 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< std::complex< double > > & | arg | ) | [inline] |
Definition at line 75 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< std::complex< double > > & | arg, |
const std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 77 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< std::complex< double > > * | arg | ) | [inline] |
Definition at line 79 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< std::complex< double > > * | arg, |
std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 81 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< std::string > & | arg, |
const std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 84 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | const std::vector< std::string > & | arg | ) | [inline] |
Definition at line 86 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< std::string > * | arg | ) | [inline] |
Definition at line 88 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | std::vector< std::string > * | arg, |
std::vector< int > & | theshape | ||
) | [inline] |
Definition at line 90 of file variant.h.
References casa::arg(), and val.
casac::variant::variant | ( | record & | arg | ) |
casac::variant::variant | ( | record * | arg | ) |
casac::variant::~variant | ( | ) |
const std::vector<int>& casac::variant::arrayshape | ( | ) | const [inline] |
std::vector<int>& casac::variant::arrayshape | ( | ) | [inline] |
void casac::variant::as | ( | TYPE | t, |
int | size = -1 |
||
) |
bool& casac::variant::asBool | ( | ) |
Yet to be implemented.
Modify ---------------------------------------------------
std::vector<bool>& casac::variant::asBoolVec | ( | int | size = -1 | ) |
std::complex<double>& casac::variant::asComplex | ( | ) |
std::vector<std::complex<double> >& casac::variant::asComplexVec | ( | int | size = -1 | ) |
double& casac::variant::asDouble | ( | ) |
std::vector<double>& casac::variant::asDoubleVec | ( | int | size = -1 | ) |
int& casac::variant::asInt | ( | ) |
std::vector<int>& casac::variant::asIntVec | ( | int | size = -1 | ) |
casac::record& casac::variant::asRecord | ( | ) |
std::string& casac::variant::asString | ( | ) |
std::vector<std::string>& casac::variant::asStringVec | ( | int | size = -1 | ) |
variant* casac::variant::clone | ( | ) | const [inline] |
int casac::variant::compare | ( | const variant * | ) | const |
std::string casac::variant::create_message | ( | const std::string | s | ) | const [private] |
const bool casac::variant::getBool | ( | ) | const throw (error) |
Const.
---------------------------------------------------
bool& casac::variant::getBoolMod | ( | ) | throw (error) |
Modify.
---------------------------------------------------
const std::vector<bool>& casac::variant::getBoolVec | ( | ) | const throw (error) |
std::vector<bool>& casac::variant::getBoolVecMod | ( | ) | throw (error) |
const std::complex<double>& casac::variant::getComplex | ( | ) | const throw (error) |
std::complex<double>& casac::variant::getComplexMod | ( | ) | throw (error) |
const std::vector<std::complex<double> >& casac::variant::getComplexVec | ( | ) | const throw (error) |
std::vector<std::complex<double> >& casac::variant::getComplexVecMod | ( | ) | throw (error) |
const double casac::variant::getDouble | ( | ) | const throw (error) |
double& casac::variant::getDoubleMod | ( | ) | throw (error) |
const std::vector<double>& casac::variant::getDoubleVec | ( | ) | const throw (error) |
std::vector<double>& casac::variant::getDoubleVecMod | ( | ) | throw (error) |
const int casac::variant::getInt | ( | ) | const throw (error) |
int& casac::variant::getIntMod | ( | ) | throw (error) |
const std::vector<int>& casac::variant::getIntVec | ( | ) | const throw (error) |
std::vector<int>& casac::variant::getIntVecMod | ( | ) | throw (error) |
const std::string& casac::variant::getString | ( | ) | const throw (error) |
std::string& casac::variant::getStringMod | ( | ) | throw (error) |
const std::vector<std::string>& casac::variant::getStringVec | ( | ) | const throw (error) |
std::vector<std::string>& casac::variant::getStringVecMod | ( | ) | throw (error) |
void casac::variant::place | ( | bool | , |
unsigned int | index, | ||
bool | conform = true |
||
) |
void casac::variant::place | ( | int | , |
unsigned int | index, | ||
bool | conform = true |
||
) |
void casac::variant::place | ( | double | , |
unsigned int | index, | ||
bool | conform = true |
||
) |
void casac::variant::place | ( | std::complex< double > | , |
unsigned int | index, | ||
bool | conform = true |
||
) |
void casac::variant::place | ( | const std::string & | , |
unsigned int | index, | ||
bool | conform = true |
||
) |
void casac::variant::push | ( | bool | , |
bool | conform = true |
||
) |
void casac::variant::push | ( | int | , |
bool | conform = true |
||
) |
void casac::variant::push | ( | double | , |
bool | conform = true |
||
) |
void casac::variant::push | ( | std::complex< double > | , |
bool | conform = true |
||
) |
void casac::variant::push | ( | const std::string & | , |
bool | conform = true |
||
) |
void casac::variant::resize | ( | int | size | ) |
const std::vector<int>& casac::variant::shape | ( | ) | const |
Referenced by arrayshape().
std::vector<int>& casac::variant::shape | ( | ) |
int casac::variant::shape_size | ( | ) | const [private] |
what size does the shape imply
int casac::variant::size | ( | ) | const [inline] |
Definition at line 174 of file variant.h.
References BOOLVEC, typev, and vec_size().
bool casac::variant::toBool | ( | ) | const |
std::vector<bool> casac::variant::toBoolVec | ( | ) | const |
std::complex<double> casac::variant::toComplex | ( | ) | const |
std::vector<std::complex<double> > casac::variant::toComplexVec | ( | ) | const |
double casac::variant::toDouble | ( | ) | const |
std::vector<double> casac::variant::toDoubleVec | ( | ) | const |
int casac::variant::toInt | ( | ) | const |
std::vector<int> casac::variant::toIntVec | ( | ) | const |
std::string casac::variant::toString | ( | bool | no_brackets = false | ) | const |
std::vector<std::string> casac::variant::toStringVec | ( | ) | const |
TYPE casac::variant::type | ( | ) | const [inline] |
const std::string& casac::variant::typeString | ( | ) | const |
int casac::variant::vec_size | ( | ) | const [private] |
Referenced by size().
bool casac::variant::b |
std::vector<bool>* casac::variant::bv |
std::complex<double>* casac::variant::c |
std::vector<std::complex<double> >* casac::variant::cv |
double casac::variant::d |
std::vector<double>* casac::variant::dv |
std::vector<int>* casac::variant::iv |
unsigned int casac::variant::record_id_count [static, private] |
std::string* casac::variant::s |
std::vector<int> casac::variant::shape_ [private] |
std::vector<std::string>* casac::variant::sv |
TYPE casac::variant::typev [private] |
union { ... } casac::variant::val [private] |
Referenced by variant().