third-party
realsense-file
rosbag
roscpp_traits
include
ros
builtin_message_traits.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009, Willow Garage, Inc.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright notice,
7
* this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the names of Willow Garage, Inc. nor the names of its
12
* contributors may be used to endorse or promote products derived from
13
* this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef ROSLIB_BUILTIN_MESSAGE_TRAITS_H
29
#define ROSLIB_BUILTIN_MESSAGE_TRAITS_H
30
31
#include "
message_traits.h
"
32
#include "
ros/time.h
"
33
34
namespace
rs2rosinternal
35
{
36
namespace
message_traits
37
{
38
39
#define ROSLIB_CREATE_SIMPLE_TRAITS(Type) \
40
template<> struct IsSimple<Type> : public std::true_type {}; \
41
template<> struct IsFixedSize<Type> : public std::true_type {};
42
43
ROSLIB_CREATE_SIMPLE_TRAITS
(
uint8_t
)
44
ROSLIB_CREATE_SIMPLE_TRAITS
(
int8_t
)
45
ROSLIB_CREATE_SIMPLE_TRAITS
(
uint16_t
)
46
ROSLIB_CREATE_SIMPLE_TRAITS
(
int16_t
)
47
ROSLIB_CREATE_SIMPLE_TRAITS
(
uint32_t
)
48
ROSLIB_CREATE_SIMPLE_TRAITS
(
int32_t
)
49
ROSLIB_CREATE_SIMPLE_TRAITS
(
uint64_t
)
50
ROSLIB_CREATE_SIMPLE_TRAITS
(
int64_t
)
51
ROSLIB_CREATE_SIMPLE_TRAITS
(
float
)
52
ROSLIB_CREATE_SIMPLE_TRAITS
(
double
)
53
ROSLIB_CREATE_SIMPLE_TRAITS
(
Time
)
54
ROSLIB_CREATE_SIMPLE_TRAITS
(
Duration
)
55
56
// because std::vector<bool> is not a true vector, bool is not a simple type
57
template<> struct
IsFixedSize
<
bool
> : public
std
::true_type {};
58
59
}
// namespace message_traits
60
}
// namespace rs2rosinternal
61
62
#endif // ROSLIB_BUILTIN_MESSAGE_TRAITS_H
63
uint8_t
unsigned char uint8_t
Definition:
stdint.h:78
int8_t
signed char int8_t
Definition:
stdint.h:75
uint16_t
unsigned short uint16_t
Definition:
stdint.h:79
rs2rosinternal::message_traits::IsFixedSize
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
Definition:
message_traits.h:81
rs2rosinternal
Definition:
datatypes.h:39
int16_t
signed short int16_t
Definition:
stdint.h:76
std_msgs::Duration
::std_msgs::Duration_< std::allocator< void > > Duration
Definition:
Duration.h:47
uint32_t
unsigned int uint32_t
Definition:
stdint.h:80
uint64_t
unsigned __int64 uint64_t
Definition:
stdint.h:90
time.h
message_traits.h
std_msgs::Time
::std_msgs::Time_< std::allocator< void > > Time
Definition:
Time.h:47
int64_t
signed __int64 int64_t
Definition:
stdint.h:89
int32_t
signed int int32_t
Definition:
stdint.h:77
std
Definition:
android_helpers.h:13
ROSLIB_CREATE_SIMPLE_TRAITS
#define ROSLIB_CREATE_SIMPLE_TRAITS(Type)
Definition:
builtin_message_traits.h:39
librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Fri Aug 2 2024 08:30:01