trait_macros.h
Go to the documentation of this file.
00001 
00002 /*
00003  * Copyright (C) 2009, Willow Garage, Inc.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions are met:
00007  *   * Redistributions of source code must retain the above copyright notice,
00008  *     this list of conditions and the following disclaimer.
00009  *   * Redistributions in binary form must reproduce the above copyright
00010  *     notice, this list of conditions and the following disclaimer in the
00011  *     documentation and/or other materials provided with the distribution.
00012  *   * Neither the names of Willow Garage, Inc. nor the names of its
00013  *     contributors may be used to endorse or promote products derived from
00014  *     this software without specific prior written permission.
00015  *
00016  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00017  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00018  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00019  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00020  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00021  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00022  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00023  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00024  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00025  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00026  * POSSIBILITY OF SUCH DAMAGE.
00027  */
00028 
00029 #ifndef STD_MSGS_TRAIT_MACROS_H
00030 #define STD_MSGS_TRAIT_MACROS_H
00031 
00032 #define STD_MSGS_DEFINE_BUILTIN_TRAITS(builtin, msg, static_md5sum1, static_md5sum2) \
00033   namespace ros \
00034   { \
00035   namespace message_traits \
00036   { \
00037     \
00038     template<> struct MD5Sum<builtin> \
00039     { \
00040       static const char* value() \
00041       { \
00042         return MD5Sum<std_msgs::msg>::value(); \
00043       } \
00044       \
00045       static const char* value(const builtin&) \
00046       { \
00047         return value(); \
00048       } \
00049     }; \
00050     \
00051     template<> struct DataType<builtin> \
00052     { \
00053       static const char* value() \
00054       { \
00055         return DataType<std_msgs::msg>::value(); \
00056       } \
00057      \
00058       static const char* value(const builtin&) \
00059       { \
00060         return value(); \
00061       } \
00062     }; \
00063     \
00064     template<> struct Definition<builtin> \
00065     { \
00066       static const char* value() \
00067       { \
00068         return Definition<std_msgs::msg>::value(); \
00069       } \
00070       \
00071       static const char* value(const builtin&) \
00072       { \
00073         return value(); \
00074       } \
00075     }; \
00076     \
00077   } \
00078   }
00079 
00080 #endif // STD_MSGS_TRAIT_MACROS_H


std_msgs
Author(s): Morgan Quigley , Ken Conley , Jeremy Leibs
autogenerated on Mon Oct 6 2014 07:51:08