PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
Variant.cpp File Reference
#include "Variant.h"
#include "PComplexData.h"
#include "../utility/PError.h"
#include "../utility/Defs.h"
#include <iostream>
#include <sstream>
#include <math.h>
#include <string>
#include <stdlib.h>
#include <cmath>
#include <cstring>

Go to the source code of this file.

Functions

ostream & operator<< (ostream &out, const Variant &v)
 overload operator<<
 

Function Documentation

◆ operator<<()

ostream & operator<< ( ostream &  out,
const Variant v 
)

overload operator<<

Definition at line 772 of file Variant.cpp.

773{
774 switch(v.GetDataType())
775 {
776
777 case P_DATA_NUMBER_INTEGER: // an integer
778 out << v.GetInteger();
779 break;
780
781 case P_DATA_NUMBER_FLOAT: // a float
782 out << v.GetFloat();
783 break;
784
785 case P_DATA_STRING: // a string
786 out << v.GetString();
787 break;
788
789 case P_DATA_LOCALVARIABLE: // a variable
790 case P_DATA_GLOBALVARIABLE: // a variable
791 out << v.GetVariableName();
792 break;
793
794 case P_DATA_FUNCTION: // a function name
795 out << v.GetFunctionName();
796 break;
797
799 out << "Function Pointer" ;
800 break;
801
803 {
804 out << *(v.GetComplexData())<<endl;
805 }
806 break;
807
809 out << v.GetSignalName();
810 break;
811
812
813 case P_DATA_UNDEFINED: // undefined, error
814 default:
815 out << "Trying to print undefined data type in Variant::<<: " << v.GetDataType() << "name: " << v.GetDataTypeName() << endl ;
816 break;
817 }
818
819 return out;
820}
@ P_DATA_UNDEFINED
Definition Variant.h:41
@ P_DATA_LOCALVARIABLE
Definition Variant.h:48
@ P_DATA_STACK_SIGNAL
Definition Variant.h:42
@ P_DATA_FUNCTION_POINTER
Definition Variant.h:44
@ P_DATA_STRING
Definition Variant.h:47
@ P_DATA_COMPLEXDATA
Definition Variant.h:50
@ P_DATA_NUMBER_INTEGER
Definition Variant.h:45
@ P_DATA_NUMBER_FLOAT
Definition Variant.h:46
@ P_DATA_FUNCTION
Definition Variant.h:43
@ P_DATA_GLOBALVARIABLE
Definition Variant.h:49
pInt GetInteger() const
Definition Variant.cpp:997
std::string GetVariableName() const
Definition Variant.cpp:1138
std::string GetString() const
Definition Variant.cpp:1056
PComplexData * GetComplexData() const
Definition Variant.cpp:1299
pDouble GetFloat() const
Definition Variant.cpp:1025
Variant GetSignalName() const
Definition Variant.cpp:1236
std::string GetDataTypeName() const
This returns the type as a string.
Definition Variant.cpp:891
std::string GetFunctionName() const
Definition Variant.cpp:1208
VariantDataType GetDataType() const
This returns the type as an enum.
Definition Variant.cpp:885

References Variant::GetComplexData(), Variant::GetDataType(), Variant::GetDataTypeName(), Variant::GetFloat(), Variant::GetFunctionName(), Variant::GetInteger(), Variant::GetSignalName(), Variant::GetString(), Variant::GetVariableName(), P_DATA_COMPLEXDATA, P_DATA_FUNCTION, P_DATA_FUNCTION_POINTER, P_DATA_GLOBALVARIABLE, P_DATA_LOCALVARIABLE, P_DATA_NUMBER_FLOAT, P_DATA_NUMBER_INTEGER, P_DATA_STACK_SIGNAL, P_DATA_STRING, and P_DATA_UNDEFINED.