framework
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
framework
protocol_buffers
base_types.hpp
Go to the documentation of this file.
1
// Copyright (C) 2013 iwg molw5
2
// For conditions of distribution and use, see copyright notice in COPYING
3
13
#pragma once
14
15
#include <
framework/serializable/mutator_type.hpp
>
16
17
namespace
framework
18
{
19
namespace
protocol_buffers
20
{
26
template
<
27
typename
Name,
28
typename
Number,
29
typename
Specification,
30
template
<
typename
>
class
Implementation>
31
struct
protocol_buffer_implementation_wrapper
32
{
33
template
<
typename
Derived>
34
struct
parameters
35
{
36
using
value_name
= Name;
37
using
value_number = Number;
38
using
value_type =
serializable::type_extractor <Specification>
;
39
using
value_specification
= Specification;
40
using
derived = Derived;
41
using
implementation = Implementation <parameters <Derived>>;
42
};
43
44
template
<
typename
Derived>
45
using
type = Implementation <parameters <Derived>>;
46
};
47
51
enum class
e_constants
52
{
65
fixed_varint_length
= 5
66
};
67
74
template
<
typename
Number,
typename
T>
75
struct
field_tag
:
serializable::mutator_type
<T>
76
{
77
};
78
82
template
<
typename
T>
83
using
remove_reference_cv
=
typename
std::remove_cv <typename std::remove_reference <T>::type>::type;
84
}
85
}
Generated on Wed Apr 10 2013 20:49:42 for framework by
1.8.3.1-20130402