Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F1493812
type_helper.hpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Size
1 KB
Referenced Files
None
Subscribers
None
type_helper.hpp
View Options
/*******************************************************************************
*
* File: type_helper.hpp
*
* Contents: Helper facilities for type-related stuff.
*
* Copyright 2017
*
* Author: David Juhasz (david.juhasz@tuwien.ac.at)
*
******************************************************************************/
#ifndef ROSA_SUPPORT_TYPE_HELPER_HPP
#define ROSA_SUPPORT_TYPE_HELPER_HPP
#include
<cstdint>
namespace
rosa
{
/* ************************************************************************** *
* Printable *
* ************************************************************************** */
// A value of type [u]int8_t is treated as a character when being put to an
// output stream, which can result in invisible characters being printed. To
// avoid that, such a value needs to be casted to a wider type. It can be done
// by using the following template to find a target type to cast our value to.
// NOTE: There is a preprocessor macro below which can be used instead of the
// tedious typename stuff.
template
<
typename
T
>
struct
PrintableType
{
using
Type
=
T
;
};
template
<>
struct
PrintableType
<
uint8_t
>
{
using
Type
=
unsigned
int
;
};
template
<>
struct
PrintableType
<
int8_t
>
{
using
Type
=
int
;
};
#define PRINTABLE(T) typename PrintableType<T>::Type
}
// End namespace rosa
#endif
// ROSA_SUPPORT_TYPE_HELPER_HPP
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Mar 1, 5:57 PM (1 d, 3 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
287546
Default Alt Text
type_helper.hpp (1 KB)
Attached To
Mode
R20 SoC_Rosa_repo
Attached
Detach File
Event Timeline
Log In to Comment