Bug #484
Converters for Fundamental Types are not Implemented [C++]
Status: | Resolved | Start date: | 08/08/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | C++ | |||
Target version: | rsb-0.15 |
Description
Despite what this description suggests.
Seemingly most important: double
(see #606).
Progress:
Wire Schema | String Designator | Converter |
---|---|---|
No value | "void" | rsb::converter::VoidConverter |
Double precision float | "double" | rsb::converter::FloatingPointConverter<double> |
Single precision float | "float" | rsb::converter::FloatingPointConverter<float> |
32 bit signed integer | "int32" | rsb::converter::IntegerConverter<int32_t> |
64 bit signed integer | "int64" | rsb::converter::IntegerConverter<int64_t> |
32 bit unsigned integer | "uint32" | rsb::converter::IntegerConverter<uint32_t> |
64 bit unsigned integer | "uint64" | rsb::converter::IntegerConverter<uint64_t> |
bool | "bool" | rsb::converter::BoolConverter |
ASCII string | "ascii-string" | |
UTF-8 string | "utf-8-string" | rsb::converter::StringConverter |
Sequence of bytes | "bytes" | rsb::converter::ByteArrayConverter |
Scope | "scope" | rsb::converter::ScopeConverter |
Event ID | ".rsb.protocol.EventId" | rsb::converter::EventIdConverter |
Associated revisions
Changed bool encoding in src/rsb/converter/BoolConverter.cpp
refs #484
- src/rsb/converter/BoolConverter.cpp (header): updated copyright
(BoolConverter::serialize): store either 0 or 1
(BoolConverter::deserialize): expected either 0 or 1 - test/rsb/converter/DefaultConverterTest.cpp: cosmetic changes
Backport: Add a converter for unit32.
refs #484
Added Int64converter.
refs #484
Mention C++ float and double converters in news.rst
refs #484
- news.rst (RSB 0.14): mention new float and double converters that have
been added to the C++ implementation
Added double, float converter in src/rsb/converter/FloatConverter.{h,cpp}
refs #484
The new template class FloatConverter converts floating point values by
just grabbing the bit pattern from memory. To make this at least
slightly safe, a runtime_error is throw in the constructor unless
std::numeric_limits<T>::is_iec559
is true.
- src/rsb/converter/FloatConverter.{h,cpp}: new files; contain
implementation FloatConverter template class with specializations for
float and double - src/rsb/converter/converters.cpp (registerDefaultConverters): register
FloatConverter<float> and FloatConverter<double> - test/rsb/converter/DefaultConverterTest.cpp (header): updated copyright
(FloatConverterTest): new test; roundtrip test for
FloatConverter<float>
(DoubleConverterTest): new test; roundtrip test for
FloatConverter<double> - src/CMakeLists.txt: added files
src/rsb/converter/FloatConverter.{h,cpp}
Floating point converters in src/rsb/converter/FloatingPointConverter.{h,cpp}
refs #484
The new template class FloatingPointConverter converts floating point
values by just grabbing the bit pattern from memory. To make this at
least slightly safe, a runtime_error is throw in the constructor unless
std::numeric_limits<T>::is_iec559
is true. Derived classes FloatConverter and DoubleConverter are provided
for convenience.
- src/rsb/converter/FloatingPointConverter.{h,cpp}: new files; contain
FloatingPointConverter template class with specializations
FloatConverter and DoubleConverter for float and double respectively - src/rsb/converter/converters.cpp (registerDefaultConverters): register
FloatConverter and DoubleConverter - test/rsb/converter/DefaultConverterTest.cpp (header): updated copyright
(FloatConverterTest): new test; roundtrip test for FloatConverter
(DoubleConverterTest): new test; roundtrip test for DoubleConverter - src/CMakeLists.txt: added files
src/rsb/converter/FloatingPointConverter.{h,cpp}
Backport: Floating point converters in src/rsb/converter/FloatingPointConverter.{h,cpp}
refs #484
The new template class FloatingPointConverter converts floating point
values by just grabbing the bit pattern from memory. To make this at
least slightly safe, a runtime_error is throw in the constructor unless
std::numeric_limits<T>::is_iec559
is true. Derived classes FloatConverter and DoubleConverter are provided
for convenience.
- src/rsb/converter/FloatingPointConverter.{h,cpp}: new files; contain
FloatingPointConverter template class with specializations
FloatConverter and DoubleConverter for float and double respectively - src/rsb/converter/converters.cpp (registerDefaultConverters): register
FloatConverter and DoubleConverter - test/rsb/converter/DefaultConverterTest.cpp (header): updated copyright
(FloatConverterTest): new test; roundtrip test for FloatConverter
(DoubleConverterTest): new test; roundtrip test for DoubleConverter - src/CMakeLists.txt: added files
src/rsb/converter/FloatingPointConverter.{h,cpp}
(cherry picked from commit 178f08b5819ff5f7969f7ad12bdd599d67abe78d)
Added generic IntegerConverter in src/rsb/converter/IntegerConverter.{h,cpp}
refs #484
- src/rsb/converter/{Int64,Uint32,Uint64}Converter.{h,cpp}: removed; no
longer needed - src/rsb/converter/IntegerConverter.{h,cpp}: new files; interface and
implementation of generic integer converter - src/rsb/converter/converters.cpp: adjusted includes
- test/rsb/converter/DefaultConverterTest.cpp: likewise
- src/CMakeLists.txt: removed files
src/rsb/converter/{Int64,Uint32,Uint64}Converter.{h,cpp}; added files
src/rsb/converter/IntegerConverter.{h,cpp}
Added generic IntegerConverter in src/rsb/converter/IntegerConverter.{h,cpp}
refs #484
- src/rsb/converter/{Int64,Uint32,Uint64}Converter.{h,cpp}: removed; no
longer needed - src/rsb/converter/IntegerConverter.{h,cpp}: new files; interface and
implementation of generic integer converter - src/rsb/converter/converters.cpp: adjusted includes
- test/rsb/converter/DefaultConverterTest.cpp: likewise
- src/CMakeLists.txt: removed files
src/rsb/converter/{Int64,Uint32,Uint64}Converter.{h,cpp}; added files
src/rsb/converter/IntegerConverter.{h,cpp}
Added ScopeConverter class in src/rsb/converter/ScopeConverter.{h,cpp}
fixes #484
- src/rsb/converter/ScopeConverter.{h,cpp}: new file; interface and
implementation of ScopeConverter class - src/rsb/converter/converters.cpp (registerDefaultConverters): register
ScopeConverter - test/rsb/converter/DefaultConverterTest.cpp (ScopeConverterTest): new
test; for ScopeConverter class - src/CMakeLists.txt: added files
src/rsb/converter/ScopeConverter.{h,cpp}
Mention new C++ IntegerConverter in news.rst
refs #484
- news.rst (RSB 0.15): mention new C++ IntegerConverter
Mention new C++ ScopeConverter in news.rst
refs #484
- news.rst (RSB 0.15): mention new C++ ScopeConverter
History
#1 Updated by J. Moringen over 12 years ago
- Priority changed from Normal to High
#2 Updated by J. Moringen over 12 years ago
- Description updated (diff)
#3 Updated by J. Moringen about 11 years ago
- % Done changed from 0 to 50
#4 Updated by J. Moringen over 10 years ago
- Target version changed from rsb-0.10 to rsb-0.11
#5 Updated by S. Wrede over 9 years ago
- Priority changed from High to Normal
#6 Updated by J. Wienke over 9 years ago
- Target version changed from rsb-0.11 to rsb-0.12
#7 Updated by J. Moringen about 9 years ago
- Status changed from New to In Progress
#8 Updated by J. Wienke almost 9 years ago
- Target version changed from rsb-0.12 to rsb-0.13
#9 Updated by J. Moringen about 8 years ago
- Target version changed from rsb-0.13 to rsb-0.14
#10 Updated by J. Moringen almost 8 years ago
- Target version changed from rsb-0.14 to rsb-0.15
#11 Updated by J. Moringen almost 8 years ago
- % Done changed from 50 to 80
#12 Updated by J. Moringen almost 8 years ago
- Description updated (diff)
- Assignee set to J. Moringen
#13 Updated by J. Moringen almost 8 years ago
- Description updated (diff)
#14 Updated by J. Moringen almost 8 years ago
- Description updated (diff)
#15 Updated by J. Moringen almost 8 years ago
- Subject changed from Converters for Fundamental Types are not Implemented to Converters for Fundamental Types are not Implemented [C++]
#16 Updated by J. Moringen almost 8 years ago
- Description updated (diff)
- % Done changed from 80 to 90
#17 Updated by J. Moringen almost 8 years ago
- Status changed from In Progress to Resolved
- % Done changed from 90 to 100
Applied in changeset rsb-cpp|8c26dc79997d4d0339e6dc0ece5fecfa304dfd36.
#18 Updated by J. Moringen almost 8 years ago
- Description updated (diff)