git-svn-id: svn://db.shs.com.ru/pip@193 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-04-21 08:02:12 +00:00
parent e4d95494fa
commit ece66dc4c4
3 changed files with 36 additions and 14 deletions

View File

@@ -6,17 +6,32 @@
#include "piethernet.h"
#include "piintrospection.h"
struct MS {
//MS() {i = 0; f = 0.;}
int i;
float f;
PIString s;
};
PIByteArray & operator<<(PIByteArray & ba, const MS & v) {ba << v.i << v.f << v.s; return ba;}
PIByteArray & operator>>(PIByteArray & ba, MS & v) {ba >> v.i >> v.f >> v.s; return ba;}
PICout operator <<(PICout c, const MS & v) {c << "(" << v.i << v.f << v.s << ")"; return c;}
REGISTER_VARIANT(MS)
REGISTER_VARIANT_CAST(MS, int) {return v.i;}
REGISTER_VARIANT_CAST(MS, float) {return v.f;}
REGISTER_VARIANT_CAST(MS, PIString) {return v.s;}
int main (int argc, char * argv[]) {
//PIByteArray ba;
PIKbdListener kbd;
/*PIKbdListener kbd;
kbd.enableExitCapture();
PIString str;
str.reserve(1024*1024);
PIINTROSPECTION_START
//piCout << PIINTROSPECTION_CONTAINERS->count;
WAIT_FOR_EXIT
/*PIVector<PIVariant> vl;
WAIT_FOR_EXIT*/
PIVector<PIVariant> vl;
vl << PIVariant('2') << PIVariant(-5.5) << PIVariant(10) << PIVariant(complexd(2,3)) << PIVariant("text") << PIVariant(PIByteArray("bytearray", 9)) << PIVariant(PIDateTime::current());
piForeachC (PIVariant v, vl)
piCout << v << v.value<PIString>();
@@ -28,7 +43,14 @@ int main (int argc, char * argv[]) {
for (PIMap<PIString, __PIVariantInfo__*>::iterator i = __PIVariantInfoStorage__::get()->map->begin(); i != __PIVariantInfoStorage__::get()->map->end(); ++i)
piCout << i.key() << i.value()->cast.size();
PIEthernet eth;
piCout << eth.properties();*/
piCout << eth.properties();
MS ms = (MS){-1, 3.3, "str"};
PIVariant mv = PIVariant::fromValue<MS>(ms);
piCout << mv << mv.type();
piCout << mv.toInt();
piCout << mv.toFloat();
piCout << mv.toString();
piCout << ms << mv.value<MS>() << vl[0].value<MS>();
/*PIScreen screen;
TileSimple window;
window.back_format.color_back = PIScreenTypes::Red;

View File

@@ -418,26 +418,26 @@ PITimeMeasurer::PITimeMeasurer() {
}
double PITimeMeasurer::elapsed_n() {
double PITimeMeasurer::elapsed_n() const {
return (PISystemTime::current(true) - t_st).toNanoseconds() - PISystemTests::time_elapsed_ns;
}
double PITimeMeasurer::elapsed_u() {
double PITimeMeasurer::elapsed_u() const {
return (PISystemTime::current(true) - t_st).toMicroseconds() - PISystemTests::time_elapsed_ns / 1.E+3;
}
double PITimeMeasurer::elapsed_m() {
double PITimeMeasurer::elapsed_m() const {
return (PISystemTime::current(true) - t_st).toMilliseconds() - PISystemTests::time_elapsed_ns / 1.E+6;
}
double PITimeMeasurer::elapsed_s() {
double PITimeMeasurer::elapsed_s() const {
return (PISystemTime::current(true) - t_st).toSeconds() - PISystemTests::time_elapsed_ns / 1.E+9;
}
PISystemTime PITimeMeasurer::elapsed() {
PISystemTime PITimeMeasurer::elapsed() const {
return (PISystemTime::current(true) - t_st);
}

View File

@@ -287,19 +287,19 @@ public:
void reset() {t_st = PISystemTime::current(true);}
//! \brief Returns nanoseconds elapsed from last \a reset() execution or from timer measurer creation.
double elapsed_n();
double elapsed_n() const;
//! \brief Returns microseconds elapsed from last \a reset() execution or from timer measurer creation.
double elapsed_u();
double elapsed_u() const;
//! \brief Returns milliseconds elapsed from last \a reset() execution or from timer measurer creation.
double elapsed_m();
double elapsed_m() const;
//! \brief Returns seconds elapsed from last \a reset() execution or from timer measurer creation.
double elapsed_s();
double elapsed_s() const;
//! \brief Returns PISystemTime elapsed from last \a reset() execution or from timer measurer creation.
PISystemTime elapsed();
PISystemTime elapsed() const;
double reset_time_n() const {return t_st.toNanoseconds();}
double reset_time_u() const {return t_st.toMicroseconds();}