예제 #1
0
 int Property::getAsIntOrDefaultVal(int defaultVal) const
 {
   if (getAsString().length() > 0)
   {
     return getAsInt();
   }
   return defaultVal;
 }
예제 #2
0
	//----------------------------------------------------------------------
	float FixedPoint::getAsFloat() const
	{
		float dataAsFloat = (float)getAsInt();
		float currentDecimalPlaceVal = MathFuncs<float>::getSign( dataAsFloat )*0.5f;
		for( int currentBit = 15; currentBit >= 0; --currentBit )
		{
			if( ( 1 & ( m_data >> currentBit ) ) == 1 )
				dataAsFloat += currentDecimalPlaceVal; 
			currentDecimalPlaceVal *= 0.5f;
		}
		return dataAsFloat;
	}
예제 #3
0
int AbstractQoreNode::integerEval(ExceptionSink* xsink) const {
   if (needs_eval_flag)
      return integerEvalImpl(xsink);
   return getAsInt();
}
예제 #4
0
MC2String&
UserEnums::URType::phpPrint( MC2String& tmp ) const {
   tmp.clear();
   return STLStringUtility::int2str( getAsInt(), tmp );
}
예제 #5
0
	//----------------------------------------------------------------------
	FixedPoint::operator unsigned int() const
	{
		return ( unsigned int ) getAsInt();
	}
예제 #6
0
	//----------------------------------------------------------------------
	FixedPoint::operator int() const
	{
		return getAsInt();
	}
예제 #7
0
//-------------------------------------------------------------
void Value::fromBlob (
		ValueType type,
		const Byte *blob
	)
{
	int i;

	// Set type
	setType( type );

	if (blob==NULL)
		return;

	switch( type_m ) {
		case VT_Int:
			getAsInt() = *(int *) blob;
			break;

		case VT_IntList:
		{
			int len = *(int *) blob;
			int *data = ((int *) blob) + 1;

			IntList &ilist = getAsIntList();
			ilist.resize( len );

			for(i = 0; i < len; ++i)
				ilist[ i ] = *data++;

			break;
		}

		case VT_Double:
			getAsDouble() = *(double *) blob;
			break;

		case VT_Date:
			getAsDate() = *(double *) blob;
			break;

		case VT_DoubleList:
		{
			int len = *(int *) blob;
			double *data = (double *) (((int *) blob) + 1);

			DoubleList &dlist = getAsDoubleList();
			dlist.resize( len );

			for(i = 0; i < len; ++i)
				dlist[ i ] = *data++;

			break;
		}


		case VT_DateList:
		{
			int len = *(int *) blob;
			double *data = (double *) (((int *) blob) + 1);

			DoubleList &dlist = getAsDateList();
			dlist.resize( len );

			for(i = 0; i < len; ++i)
				dlist[ i ] = *data++;

			break;
		}

		case VT_String:
			getAsString() = (Byte *) blob;
			break;

		case VT_StringList:
		{
			int len = *(int *) blob;
			Byte *data = (Byte *) (((int *) blob) + 1);

			StringList &slist = getAsStringList();
			slist.resize( len );

			for(i = 0; i < len; ++i) {
				slist[ i ] = data;
				data += strlen( data ) + 1;
			}

			break;
		}

		case VT_Uid:
			getAsUid().fromMemory( (Byte *) blob );
			break;

		case VT_UidList:
		{
			int len = *(int *) blob;
			Byte *data = (Byte *) (((int *) blob) + 1);

			UidList &slist = getAsUidList();
			slist.resize( len );

			for(i = 0; i < len; ++i) {
				slist[ i ].fromMemory( data );
				data += Signature::length_scm;
			}

			break;
		}

		case VT_Reference:
			getAsReference().fromString( (Byte *) blob );
			break;

		case VT_ReferenceList:
		{
			int len = *(int *) blob;
			Byte *data = (Byte *) (((int *) blob) + 1);

			ReferenceList &reflist = getAsReferenceList();
			reflist.resize( len );

			for(i = 0; i < len; ++i) {
				reflist[ i ].fromString( data );
				data += strlen( data ) + 1;
			}

			break;
		}

		case VT_StringMap:
		{
			int len = *(int *) blob;
			Byte *data = (Byte *) (((int *) blob) + 1);
			Byte *kdata;

			StringMap &smap = getAsStringMap();
			smap.clear();

			for(i = 0; i < len; ++i) {
				
				kdata = data;
				data += strlen( data ) + 1;
				smap[kdata] =  data;
				data += strlen( data ) + 1;
			}

			break;
		}

	}
}