YARP
Yet Another Robot Platform
LaserScan2D.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 // Autogenerated by Thrift Compiler (0.14.1-yarped)
7 //
8 // This is an automatically generated file.
9 // It could get re-generated if the ALLOW_IDL_GENERATION flag is on.
10 
11 #include <yarp/dev/LaserScan2D.h>
12 
13 namespace yarp {
14 namespace dev {
15 
16 // Default constructor
18  WirePortable(),
19  angle_min(0),
20  angle_max(0),
21  range_min(0),
22  range_max(0),
23  scans(),
24  status(0)
25 {
26 }
27 
28 // Constructor with field values
29 LaserScan2D::LaserScan2D(const double angle_min,
30  const double angle_max,
31  const double range_min,
32  const double range_max,
33  const yarp::sig::Vector& scans,
34  const std::int32_t status) :
35  WirePortable(),
36  angle_min(angle_min),
37  angle_max(angle_max),
38  range_min(range_min),
39  range_max(range_max),
40  scans(scans),
41  status(status)
42 {
43 }
44 
45 // Read structure on a Wire
47 {
48  if (!read_angle_min(reader)) {
49  return false;
50  }
51  if (!read_angle_max(reader)) {
52  return false;
53  }
54  if (!read_range_min(reader)) {
55  return false;
56  }
57  if (!read_range_max(reader)) {
58  return false;
59  }
60  if (!read_scans(reader)) {
61  return false;
62  }
63  if (!read_status(reader)) {
64  return false;
65  }
66  return !reader.isError();
67 }
68 
69 // Read structure on a Connection
71 {
72  yarp::os::idl::WireReader reader(connection);
73  if (!reader.readListHeader(6)) {
74  return false;
75  }
76  return read(reader);
77 }
78 
79 // Write structure on a Wire
81 {
82  if (!write_angle_min(writer)) {
83  return false;
84  }
85  if (!write_angle_max(writer)) {
86  return false;
87  }
88  if (!write_range_min(writer)) {
89  return false;
90  }
91  if (!write_range_max(writer)) {
92  return false;
93  }
94  if (!write_scans(writer)) {
95  return false;
96  }
97  if (!write_status(writer)) {
98  return false;
99  }
100  return !writer.isError();
101 }
102 
103 // Write structure on a Connection
105 {
106  yarp::os::idl::WireWriter writer(connection);
107  if (!writer.writeListHeader(6)) {
108  return false;
109  }
110  return write(writer);
111 }
112 
113 // Convert to a printable string
114 std::string LaserScan2D::toString() const
115 {
117  b.read(*this);
118  return b.toString();
119 }
120 
121 // Editor: default constructor
123 {
124  group = 0;
125  obj_owned = true;
126  obj = new LaserScan2D;
127  dirty_flags(false);
128  yarp().setOwner(*this);
129 }
130 
131 // Editor: constructor with base class
133 {
134  group = 0;
135  obj_owned = false;
136  edit(obj, false);
137  yarp().setOwner(*this);
138 }
139 
140 // Editor: destructor
142 {
143  if (obj_owned) {
144  delete obj;
145  }
146 }
147 
148 // Editor: edit
150 {
151  if (obj_owned) {
152  delete this->obj;
153  }
154  this->obj = &obj;
155  obj_owned = false;
156  dirty_flags(dirty);
157  return true;
158 }
159 
160 // Editor: validity check
162 {
163  return obj != nullptr;
164 }
165 
166 // Editor: state
168 {
169  return *obj;
170 }
171 
172 // Editor: grouping begin
174 {
175  group++;
176 }
177 
178 // Editor: grouping end
180 {
181  group--;
182  if (group == 0 && is_dirty) {
183  communicate();
184  }
185 }
186 // Editor: angle_min setter
188 {
189  will_set_angle_min();
190  obj->angle_min = angle_min;
191  mark_dirty_angle_min();
192  communicate();
193  did_set_angle_min();
194 }
195 
196 // Editor: angle_min getter
198 {
199  return obj->angle_min;
200 }
201 
202 // Editor: angle_min will_set
204 {
205  return true;
206 }
207 
208 // Editor: angle_min did_set
210 {
211  return true;
212 }
213 
214 // Editor: angle_max setter
216 {
217  will_set_angle_max();
218  obj->angle_max = angle_max;
219  mark_dirty_angle_max();
220  communicate();
221  did_set_angle_max();
222 }
223 
224 // Editor: angle_max getter
226 {
227  return obj->angle_max;
228 }
229 
230 // Editor: angle_max will_set
232 {
233  return true;
234 }
235 
236 // Editor: angle_max did_set
238 {
239  return true;
240 }
241 
242 // Editor: range_min setter
244 {
245  will_set_range_min();
246  obj->range_min = range_min;
247  mark_dirty_range_min();
248  communicate();
249  did_set_range_min();
250 }
251 
252 // Editor: range_min getter
254 {
255  return obj->range_min;
256 }
257 
258 // Editor: range_min will_set
260 {
261  return true;
262 }
263 
264 // Editor: range_min did_set
266 {
267  return true;
268 }
269 
270 // Editor: range_max setter
272 {
273  will_set_range_max();
274  obj->range_max = range_max;
275  mark_dirty_range_max();
276  communicate();
277  did_set_range_max();
278 }
279 
280 // Editor: range_max getter
282 {
283  return obj->range_max;
284 }
285 
286 // Editor: range_max will_set
288 {
289  return true;
290 }
291 
292 // Editor: range_max did_set
294 {
295  return true;
296 }
297 
298 // Editor: scans setter
300 {
301  will_set_scans();
302  obj->scans = scans;
303  mark_dirty_scans();
304  communicate();
305  did_set_scans();
306 }
307 
308 // Editor: scans getter
310 {
311  return obj->scans;
312 }
313 
314 // Editor: scans will_set
316 {
317  return true;
318 }
319 
320 // Editor: scans did_set
322 {
323  return true;
324 }
325 
326 // Editor: status setter
327 void LaserScan2D::Editor::set_status(const std::int32_t status)
328 {
329  will_set_status();
330  obj->status = status;
331  mark_dirty_status();
332  communicate();
333  did_set_status();
334 }
335 
336 // Editor: status getter
338 {
339  return obj->status;
340 }
341 
342 // Editor: status will_set
344 {
345  return true;
346 }
347 
348 // Editor: status did_set
350 {
351  return true;
352 }
353 
354 // Editor: clean
356 {
357  dirty_flags(false);
358 }
359 
360 // Editor: read
362 {
363  if (!isValid()) {
364  return false;
365  }
366  yarp::os::idl::WireReader reader(connection);
367  reader.expectAccept();
368  if (!reader.readListHeader()) {
369  return false;
370  }
371  int len = reader.getLength();
372  if (len == 0) {
373  yarp::os::idl::WireWriter writer(reader);
374  if (writer.isNull()) {
375  return true;
376  }
377  if (!writer.writeListHeader(1)) {
378  return false;
379  }
380  writer.writeString("send: 'help' or 'patch (param1 val1) (param2 val2)'");
381  return true;
382  }
383  std::string tag;
384  if (!reader.readString(tag)) {
385  return false;
386  }
387  if (tag == "help") {
388  yarp::os::idl::WireWriter writer(reader);
389  if (writer.isNull()) {
390  return true;
391  }
392  if (!writer.writeListHeader(2)) {
393  return false;
394  }
395  if (!writer.writeTag("many", 1, 0)) {
396  return false;
397  }
398  if (reader.getLength() > 0) {
399  std::string field;
400  if (!reader.readString(field)) {
401  return false;
402  }
403  if (field == "angle_min") {
404  if (!writer.writeListHeader(2)) {
405  return false;
406  }
407  if (!writer.writeString("double angle_min")) {
408  return false;
409  }
410  if (!writer.writeString("first angle of the scan [deg]")) {
411  return false;
412  }
413  }
414  if (field == "angle_max") {
415  if (!writer.writeListHeader(2)) {
416  return false;
417  }
418  if (!writer.writeString("double angle_max")) {
419  return false;
420  }
421  if (!writer.writeString("last angle of the scan [deg]")) {
422  return false;
423  }
424  }
425  if (field == "range_min") {
426  if (!writer.writeListHeader(2)) {
427  return false;
428  }
429  if (!writer.writeString("double range_min")) {
430  return false;
431  }
432  if (!writer.writeString("the minimum distance of the scan [m]")) {
433  return false;
434  }
435  }
436  if (field == "range_max") {
437  if (!writer.writeListHeader(2)) {
438  return false;
439  }
440  if (!writer.writeString("double range_max")) {
441  return false;
442  }
443  if (!writer.writeString("the maximum distance of the scan [m]")) {
444  return false;
445  }
446  }
447  if (field == "scans") {
448  if (!writer.writeListHeader(2)) {
449  return false;
450  }
451  if (!writer.writeString("yarp::sig::Vector scans")) {
452  return false;
453  }
454  if (!writer.writeString("the scan data, measured in [m]. The angular increment of each ray is obtained by (angle_max-angle_min)/num_of_elements. Invalid data are represented as std::inf.")) {
455  return false;
456  }
457  }
458  if (field == "status") {
459  if (!writer.writeListHeader(1)) {
460  return false;
461  }
462  if (!writer.writeString("std::int32_t status")) {
463  return false;
464  }
465  }
466  }
467  if (!writer.writeListHeader(7)) {
468  return false;
469  }
470  writer.writeString("*** Available fields:");
471  writer.writeString("angle_min");
472  writer.writeString("angle_max");
473  writer.writeString("range_min");
474  writer.writeString("range_max");
475  writer.writeString("scans");
476  writer.writeString("status");
477  return true;
478  }
479  bool nested = true;
480  bool have_act = false;
481  if (tag != "patch") {
482  if (((len - 1) % 2) != 0) {
483  return false;
484  }
485  len = 1 + ((len - 1) / 2);
486  nested = false;
487  have_act = true;
488  }
489  for (int i = 1; i < len; ++i) {
490  if (nested && !reader.readListHeader(3)) {
491  return false;
492  }
493  std::string act;
494  std::string key;
495  if (have_act) {
496  act = tag;
497  } else if (!reader.readString(act)) {
498  return false;
499  }
500  if (!reader.readString(key)) {
501  return false;
502  }
503  if (key == "angle_min") {
504  will_set_angle_min();
505  if (!obj->nested_read_angle_min(reader)) {
506  return false;
507  }
508  did_set_angle_min();
509  } else if (key == "angle_max") {
510  will_set_angle_max();
511  if (!obj->nested_read_angle_max(reader)) {
512  return false;
513  }
514  did_set_angle_max();
515  } else if (key == "range_min") {
516  will_set_range_min();
517  if (!obj->nested_read_range_min(reader)) {
518  return false;
519  }
520  did_set_range_min();
521  } else if (key == "range_max") {
522  will_set_range_max();
523  if (!obj->nested_read_range_max(reader)) {
524  return false;
525  }
526  did_set_range_max();
527  } else if (key == "scans") {
528  will_set_scans();
529  if (!obj->nested_read_scans(reader)) {
530  return false;
531  }
532  did_set_scans();
533  } else if (key == "status") {
534  will_set_status();
535  if (!obj->nested_read_status(reader)) {
536  return false;
537  }
538  did_set_status();
539  } else {
540  // would be useful to have a fallback here
541  }
542  }
543  reader.accept();
544  yarp::os::idl::WireWriter writer(reader);
545  if (writer.isNull()) {
546  return true;
547  }
548  writer.writeListHeader(1);
549  writer.writeVocab32('o', 'k');
550  return true;
551 }
552 
553 // Editor: write
555 {
556  if (!isValid()) {
557  return false;
558  }
559  yarp::os::idl::WireWriter writer(connection);
560  if (!writer.writeListHeader(dirty_count + 1)) {
561  return false;
562  }
563  if (!writer.writeString("patch")) {
564  return false;
565  }
566  if (is_dirty_angle_min) {
567  if (!writer.writeListHeader(3)) {
568  return false;
569  }
570  if (!writer.writeString("set")) {
571  return false;
572  }
573  if (!writer.writeString("angle_min")) {
574  return false;
575  }
576  if (!obj->nested_write_angle_min(writer)) {
577  return false;
578  }
579  }
580  if (is_dirty_angle_max) {
581  if (!writer.writeListHeader(3)) {
582  return false;
583  }
584  if (!writer.writeString("set")) {
585  return false;
586  }
587  if (!writer.writeString("angle_max")) {
588  return false;
589  }
590  if (!obj->nested_write_angle_max(writer)) {
591  return false;
592  }
593  }
594  if (is_dirty_range_min) {
595  if (!writer.writeListHeader(3)) {
596  return false;
597  }
598  if (!writer.writeString("set")) {
599  return false;
600  }
601  if (!writer.writeString("range_min")) {
602  return false;
603  }
604  if (!obj->nested_write_range_min(writer)) {
605  return false;
606  }
607  }
608  if (is_dirty_range_max) {
609  if (!writer.writeListHeader(3)) {
610  return false;
611  }
612  if (!writer.writeString("set")) {
613  return false;
614  }
615  if (!writer.writeString("range_max")) {
616  return false;
617  }
618  if (!obj->nested_write_range_max(writer)) {
619  return false;
620  }
621  }
622  if (is_dirty_scans) {
623  if (!writer.writeListHeader(3)) {
624  return false;
625  }
626  if (!writer.writeString("set")) {
627  return false;
628  }
629  if (!writer.writeString("scans")) {
630  return false;
631  }
632  if (!obj->nested_write_scans(writer)) {
633  return false;
634  }
635  }
636  if (is_dirty_status) {
637  if (!writer.writeListHeader(3)) {
638  return false;
639  }
640  if (!writer.writeString("set")) {
641  return false;
642  }
643  if (!writer.writeString("status")) {
644  return false;
645  }
646  if (!obj->nested_write_status(writer)) {
647  return false;
648  }
649  }
650  return !writer.isError();
651 }
652 
653 // Editor: send if possible
654 void LaserScan2D::Editor::communicate()
655 {
656  if (group != 0) {
657  return;
658  }
659  if (yarp().canWrite()) {
660  yarp().write(*this);
661  clean();
662  }
663 }
664 
665 // Editor: mark dirty overall
666 void LaserScan2D::Editor::mark_dirty()
667 {
668  is_dirty = true;
669 }
670 
671 // Editor: angle_min mark_dirty
672 void LaserScan2D::Editor::mark_dirty_angle_min()
673 {
674  if (is_dirty_angle_min) {
675  return;
676  }
677  dirty_count++;
678  is_dirty_angle_min = true;
679  mark_dirty();
680 }
681 
682 // Editor: angle_max mark_dirty
683 void LaserScan2D::Editor::mark_dirty_angle_max()
684 {
685  if (is_dirty_angle_max) {
686  return;
687  }
688  dirty_count++;
689  is_dirty_angle_max = true;
690  mark_dirty();
691 }
692 
693 // Editor: range_min mark_dirty
694 void LaserScan2D::Editor::mark_dirty_range_min()
695 {
696  if (is_dirty_range_min) {
697  return;
698  }
699  dirty_count++;
700  is_dirty_range_min = true;
701  mark_dirty();
702 }
703 
704 // Editor: range_max mark_dirty
705 void LaserScan2D::Editor::mark_dirty_range_max()
706 {
707  if (is_dirty_range_max) {
708  return;
709  }
710  dirty_count++;
711  is_dirty_range_max = true;
712  mark_dirty();
713 }
714 
715 // Editor: scans mark_dirty
716 void LaserScan2D::Editor::mark_dirty_scans()
717 {
718  if (is_dirty_scans) {
719  return;
720  }
721  dirty_count++;
722  is_dirty_scans = true;
723  mark_dirty();
724 }
725 
726 // Editor: status mark_dirty
727 void LaserScan2D::Editor::mark_dirty_status()
728 {
729  if (is_dirty_status) {
730  return;
731  }
732  dirty_count++;
733  is_dirty_status = true;
734  mark_dirty();
735 }
736 
737 // Editor: dirty_flags
738 void LaserScan2D::Editor::dirty_flags(bool flag)
739 {
740  is_dirty = flag;
741  is_dirty_angle_min = flag;
742  is_dirty_angle_max = flag;
743  is_dirty_range_min = flag;
744  is_dirty_range_max = flag;
745  is_dirty_scans = flag;
746  is_dirty_status = flag;
747  dirty_count = flag ? 6 : 0;
748 }
749 
750 // read angle_min field
751 bool LaserScan2D::read_angle_min(yarp::os::idl::WireReader& reader)
752 {
753  if (!reader.readFloat64(angle_min)) {
754  reader.fail();
755  return false;
756  }
757  return true;
758 }
759 
760 // write angle_min field
761 bool LaserScan2D::write_angle_min(const yarp::os::idl::WireWriter& writer) const
762 {
763  if (!writer.writeFloat64(angle_min)) {
764  return false;
765  }
766  return true;
767 }
768 
769 // read (nested) angle_min field
770 bool LaserScan2D::nested_read_angle_min(yarp::os::idl::WireReader& reader)
771 {
772  if (!reader.readFloat64(angle_min)) {
773  reader.fail();
774  return false;
775  }
776  return true;
777 }
778 
779 // write (nested) angle_min field
780 bool LaserScan2D::nested_write_angle_min(const yarp::os::idl::WireWriter& writer) const
781 {
782  if (!writer.writeFloat64(angle_min)) {
783  return false;
784  }
785  return true;
786 }
787 
788 // read angle_max field
789 bool LaserScan2D::read_angle_max(yarp::os::idl::WireReader& reader)
790 {
791  if (!reader.readFloat64(angle_max)) {
792  reader.fail();
793  return false;
794  }
795  return true;
796 }
797 
798 // write angle_max field
799 bool LaserScan2D::write_angle_max(const yarp::os::idl::WireWriter& writer) const
800 {
801  if (!writer.writeFloat64(angle_max)) {
802  return false;
803  }
804  return true;
805 }
806 
807 // read (nested) angle_max field
808 bool LaserScan2D::nested_read_angle_max(yarp::os::idl::WireReader& reader)
809 {
810  if (!reader.readFloat64(angle_max)) {
811  reader.fail();
812  return false;
813  }
814  return true;
815 }
816 
817 // write (nested) angle_max field
818 bool LaserScan2D::nested_write_angle_max(const yarp::os::idl::WireWriter& writer) const
819 {
820  if (!writer.writeFloat64(angle_max)) {
821  return false;
822  }
823  return true;
824 }
825 
826 // read range_min field
827 bool LaserScan2D::read_range_min(yarp::os::idl::WireReader& reader)
828 {
829  if (!reader.readFloat64(range_min)) {
830  reader.fail();
831  return false;
832  }
833  return true;
834 }
835 
836 // write range_min field
837 bool LaserScan2D::write_range_min(const yarp::os::idl::WireWriter& writer) const
838 {
839  if (!writer.writeFloat64(range_min)) {
840  return false;
841  }
842  return true;
843 }
844 
845 // read (nested) range_min field
846 bool LaserScan2D::nested_read_range_min(yarp::os::idl::WireReader& reader)
847 {
848  if (!reader.readFloat64(range_min)) {
849  reader.fail();
850  return false;
851  }
852  return true;
853 }
854 
855 // write (nested) range_min field
856 bool LaserScan2D::nested_write_range_min(const yarp::os::idl::WireWriter& writer) const
857 {
858  if (!writer.writeFloat64(range_min)) {
859  return false;
860  }
861  return true;
862 }
863 
864 // read range_max field
865 bool LaserScan2D::read_range_max(yarp::os::idl::WireReader& reader)
866 {
867  if (!reader.readFloat64(range_max)) {
868  reader.fail();
869  return false;
870  }
871  return true;
872 }
873 
874 // write range_max field
875 bool LaserScan2D::write_range_max(const yarp::os::idl::WireWriter& writer) const
876 {
877  if (!writer.writeFloat64(range_max)) {
878  return false;
879  }
880  return true;
881 }
882 
883 // read (nested) range_max field
884 bool LaserScan2D::nested_read_range_max(yarp::os::idl::WireReader& reader)
885 {
886  if (!reader.readFloat64(range_max)) {
887  reader.fail();
888  return false;
889  }
890  return true;
891 }
892 
893 // write (nested) range_max field
894 bool LaserScan2D::nested_write_range_max(const yarp::os::idl::WireWriter& writer) const
895 {
896  if (!writer.writeFloat64(range_max)) {
897  return false;
898  }
899  return true;
900 }
901 
902 // read scans field
903 bool LaserScan2D::read_scans(yarp::os::idl::WireReader& reader)
904 {
905  if (!reader.read(scans)) {
906  reader.fail();
907  return false;
908  }
909  return true;
910 }
911 
912 // write scans field
913 bool LaserScan2D::write_scans(const yarp::os::idl::WireWriter& writer) const
914 {
915  if (!writer.write(scans)) {
916  return false;
917  }
918  return true;
919 }
920 
921 // read (nested) scans field
922 bool LaserScan2D::nested_read_scans(yarp::os::idl::WireReader& reader)
923 {
924  if (!reader.readNested(scans)) {
925  reader.fail();
926  return false;
927  }
928  return true;
929 }
930 
931 // write (nested) scans field
932 bool LaserScan2D::nested_write_scans(const yarp::os::idl::WireWriter& writer) const
933 {
934  if (!writer.writeNested(scans)) {
935  return false;
936  }
937  return true;
938 }
939 
940 // read status field
941 bool LaserScan2D::read_status(yarp::os::idl::WireReader& reader)
942 {
943  if (!reader.readI32(status)) {
944  reader.fail();
945  return false;
946  }
947  return true;
948 }
949 
950 // write status field
951 bool LaserScan2D::write_status(const yarp::os::idl::WireWriter& writer) const
952 {
953  if (!writer.writeI32(status)) {
954  return false;
955  }
956  return true;
957 }
958 
959 // read (nested) status field
960 bool LaserScan2D::nested_read_status(yarp::os::idl::WireReader& reader)
961 {
962  if (!reader.readI32(status)) {
963  reader.fail();
964  return false;
965  }
966  return true;
967 }
968 
969 // write (nested) status field
970 bool LaserScan2D::nested_write_status(const yarp::os::idl::WireWriter& writer) const
971 {
972  if (!writer.writeI32(status)) {
973  return false;
974  }
975  return true;
976 }
977 
978 } // namespace yarp
979 } // namespace dev
void set_scans(const yarp::sig::Vector &scans)
void set_angle_max(const double angle_max)
void set_angle_min(const double angle_min)
bool edit(LaserScan2D &obj, bool dirty=true)
std::int32_t get_status() const
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
const yarp::sig::Vector & get_scans() const
void set_status(const std::int32_t status)
void set_range_min(const double range_min)
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
void set_range_max(const double range_max)
yarp::sig::Vector scans
the scan data, measured in [m].
Definition: LaserScan2D.h:47
std::int32_t status
Definition: LaserScan2D.h:48
double angle_min
first angle of the scan [deg]
Definition: LaserScan2D.h:31
bool write(const yarp::os::idl::WireWriter &writer) const override
Definition: LaserScan2D.cpp:80
double angle_max
last angle of the scan [deg]
Definition: LaserScan2D.h:35
double range_min
the minimum distance of the scan [m]
Definition: LaserScan2D.h:39
bool read(yarp::os::idl::WireReader &reader) override
Definition: LaserScan2D.cpp:46
double range_max
the maximum distance of the scan [m]
Definition: LaserScan2D.h:43
std::string toString() const
A simple collection of objects that can be described and transmitted in a portable way.
Definition: Bottle.h:74
bool read(ConnectionReader &reader) override
Set the bottle's value based on input from a network connection.
Definition: Bottle.cpp:240
std::string toString() const override
Gives a human-readable textual representation of the bottle.
Definition: Bottle.cpp:211
An interface for reading from a network connection.
An interface for writing to a network connection.
yarp::os::WireLink & yarp()
Get YARP state associated with this object.
Definition: Wire.h:29
IDL-friendly connection reader.
Definition: WireReader.h:30
bool readNested(WirePortable &obj)
Definition: WireReader.cpp:88
bool readString(std::string &str, bool *is_vocab=nullptr)
Definition: WireReader.cpp:382
bool readI32(std::int32_t &x)
Definition: WireReader.cpp:175
bool read(WirePortable &obj)
Definition: WireReader.cpp:78
bool readFloat64(yarp::conf::float64_t &x)
Definition: WireReader.cpp:277
IDL-friendly connection writer.
Definition: WireWriter.h:30
bool writeVocab32(yarp::conf::vocab32_t x) const
Definition: WireWriter.cpp:141
bool writeI32(std::int32_t x) const
Definition: WireWriter.cpp:93
bool write(const WirePortable &obj) const
Definition: WireWriter.cpp:52
bool writeListHeader(int len) const
Definition: WireWriter.cpp:206
bool writeTag(const char *tag, int split, int len) const
Definition: WireWriter.cpp:164
bool writeFloat64(yarp::conf::float64_t x) const
Definition: WireWriter.cpp:114
bool writeString(const std::string &tag) const
Definition: WireWriter.cpp:189
bool writeNested(const WirePortable &obj) const
Definition: WireWriter.cpp:62
bool isValid()
Check if time is valid (non-zero).
Definition: Time.cpp:314
The main, catch-all namespace for YARP.
Definition: dirs.h:16