Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
4f3e13d6
Commit
4f3e13d6
authored
Jun 05, 2012
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
formatting
parent
64dbf780
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
63 additions
and
55 deletions
+63
-55
cppa/any_tuple.hpp
cppa/any_tuple.hpp
+1
-1
cppa/attachable.hpp
cppa/attachable.hpp
+2
-2
cppa/cow_tuple.hpp
cppa/cow_tuple.hpp
+1
-1
cppa/detail/abstract_tuple.hpp
cppa/detail/abstract_tuple.hpp
+2
-2
cppa/detail/container_tuple_view.hpp
cppa/detail/container_tuple_view.hpp
+1
-1
cppa/detail/decorated_tuple.hpp
cppa/detail/decorated_tuple.hpp
+1
-1
cppa/detail/default_uniform_type_info_impl.hpp
cppa/detail/default_uniform_type_info_impl.hpp
+6
-6
cppa/detail/empty_tuple.hpp
cppa/detail/empty_tuple.hpp
+1
-1
cppa/detail/list_member.hpp
cppa/detail/list_member.hpp
+1
-1
cppa/detail/map_member.hpp
cppa/detail/map_member.hpp
+1
-1
cppa/detail/native_socket.hpp
cppa/detail/native_socket.hpp
+1
-1
cppa/detail/object_array.hpp
cppa/detail/object_array.hpp
+1
-1
cppa/detail/object_impl.hpp
cppa/detail/object_impl.hpp
+1
-1
cppa/detail/pair_member.hpp
cppa/detail/pair_member.hpp
+1
-1
cppa/detail/primitive_member.hpp
cppa/detail/primitive_member.hpp
+1
-1
cppa/detail/pseudo_tuple.hpp
cppa/detail/pseudo_tuple.hpp
+1
-1
cppa/detail/tdata.hpp
cppa/detail/tdata.hpp
+6
-6
cppa/detail/tuple_iterator.hpp
cppa/detail/tuple_iterator.hpp
+1
-1
cppa/detail/tuple_vals.hpp
cppa/detail/tuple_vals.hpp
+2
-2
cppa/detail/tuple_view.hpp
cppa/detail/tuple_view.hpp
+1
-1
cppa/match_expr.hpp
cppa/match_expr.hpp
+1
-1
cppa/object.hpp
cppa/object.hpp
+1
-1
cppa/to_string.hpp
cppa/to_string.hpp
+1
-1
cppa/type_value_pair.hpp
cppa/type_value_pair.hpp
+2
-2
cppa/uniform_type_info.hpp
cppa/uniform_type_info.hpp
+3
-3
cppa/util/abstract_uniform_type_info.hpp
cppa/util/abstract_uniform_type_info.hpp
+3
-3
cppa/util/is_iterable.hpp
cppa/util/is_iterable.hpp
+1
-1
src/abstract_tuple.cpp
src/abstract_tuple.cpp
+1
-1
src/object.cpp
src/object.cpp
+1
-1
src/object_array.cpp
src/object_array.cpp
+1
-1
src/uniform_type_info.cpp
src/uniform_type_info.cpp
+15
-7
No files found.
cppa/any_tuple.hpp
View file @
4f3e13d6
...
@@ -109,7 +109,7 @@ class any_tuple {
...
@@ -109,7 +109,7 @@ class any_tuple {
/**
/**
* @brief Gets a const pointer to the element at position @p p.
* @brief Gets a const pointer to the element at position @p p.
*/
*/
void
const
*
at
(
size_t
p
)
const
;
const
void
*
at
(
size_t
p
)
const
;
/**
/**
* @brief Gets {@link uniform_type_info uniform type information}
* @brief Gets {@link uniform_type_info uniform type information}
...
...
cppa/attachable.hpp
View file @
4f3e13d6
...
@@ -61,8 +61,8 @@ class attachable {
...
@@ -61,8 +61,8 @@ class attachable {
/**
/**
* @brief Any value, used to identify @c attachable instances.
* @brief Any value, used to identify @c attachable instances.
*/
*/
void
const
*
ptr
;
const
void
*
ptr
;
inline
token
(
const
std
::
type_info
&
msubtype
,
void
const
*
mptr
)
inline
token
(
const
std
::
type_info
&
msubtype
,
const
void
*
mptr
)
:
subtype
(
msubtype
),
ptr
(
mptr
)
{
:
subtype
(
msubtype
),
ptr
(
mptr
)
{
}
}
};
};
...
...
cppa/cow_tuple.hpp
View file @
4f3e13d6
...
@@ -139,7 +139,7 @@ class cow_tuple {
...
@@ -139,7 +139,7 @@ class cow_tuple {
/**
/**
* @brief Gets a const pointer to the element at position @p p.
* @brief Gets a const pointer to the element at position @p p.
*/
*/
inline
void
const
*
at
(
size_t
p
)
const
{
inline
const
void
*
at
(
size_t
p
)
const
{
return
m_vals
->
at
(
p
);
return
m_vals
->
at
(
p
);
}
}
...
...
cppa/detail/abstract_tuple.hpp
View file @
4f3e13d6
...
@@ -65,12 +65,12 @@ class abstract_tuple : public ref_counted {
...
@@ -65,12 +65,12 @@ class abstract_tuple : public ref_counted {
// accessors
// accessors
virtual
size_t
size
()
const
=
0
;
virtual
size_t
size
()
const
=
0
;
virtual
abstract_tuple
*
copy
()
const
=
0
;
virtual
abstract_tuple
*
copy
()
const
=
0
;
virtual
void
const
*
at
(
size_t
pos
)
const
=
0
;
virtual
const
void
*
at
(
size_t
pos
)
const
=
0
;
virtual
uniform_type_info
const
*
type_at
(
size_t
pos
)
const
=
0
;
virtual
uniform_type_info
const
*
type_at
(
size_t
pos
)
const
=
0
;
// returns either tdata<...> object or nullptr (default) if tuple
// returns either tdata<...> object or nullptr (default) if tuple
// is not a 'native' implementation
// is not a 'native' implementation
virtual
void
const
*
native_data
()
const
;
virtual
const
void
*
native_data
()
const
;
// Identifies the type of the implementation.
// Identifies the type of the implementation.
// A statically typed tuple implementation can use some optimizations,
// A statically typed tuple implementation can use some optimizations,
...
...
cppa/detail/container_tuple_view.hpp
View file @
4f3e13d6
...
@@ -63,7 +63,7 @@ class container_tuple_view : public abstract_tuple {
...
@@ -63,7 +63,7 @@ class container_tuple_view : public abstract_tuple {
return
new
container_tuple_view
{
new
Container
(
*
m_ptr
),
true
};
return
new
container_tuple_view
{
new
Container
(
*
m_ptr
),
true
};
}
}
void
const
*
at
(
size_t
pos
)
const
{
const
void
*
at
(
size_t
pos
)
const
{
CPPA_REQUIRE
(
pos
<
size
());
CPPA_REQUIRE
(
pos
<
size
());
auto
i
=
m_ptr
->
begin
();
auto
i
=
m_ptr
->
begin
();
std
::
advance
(
i
,
pos
);
std
::
advance
(
i
,
pos
);
...
...
cppa/detail/decorated_tuple.hpp
View file @
4f3e13d6
...
@@ -86,7 +86,7 @@ class decorated_tuple : public abstract_tuple {
...
@@ -86,7 +86,7 @@ class decorated_tuple : public abstract_tuple {
return
new
decorated_tuple
(
*
this
);
return
new
decorated_tuple
(
*
this
);
}
}
virtual
void
const
*
at
(
size_t
pos
)
const
{
virtual
const
void
*
at
(
size_t
pos
)
const
{
CPPA_REQUIRE
(
pos
<
size
());
CPPA_REQUIRE
(
pos
<
size
());
return
m_decorated
->
at
(
m_mapping
[
pos
]);
return
m_decorated
->
at
(
m_mapping
[
pos
]);
}
}
...
...
cppa/detail/default_uniform_type_info_impl.hpp
View file @
4f3e13d6
...
@@ -111,7 +111,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -111,7 +111,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
uniform_type_info
*
m_meta
;
uniform_type_info
*
m_meta
;
std
::
function
<
void
(
uniform_type_info
const
*
,
std
::
function
<
void
(
uniform_type_info
const
*
,
void
const
*
,
const
void
*
,
serializer
*
)
>
m_serialize
;
serializer
*
)
>
m_serialize
;
std
::
function
<
void
(
uniform_type_info
const
*
,
std
::
function
<
void
(
uniform_type_info
const
*
,
...
@@ -139,7 +139,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -139,7 +139,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
template
<
typename
R
,
class
C
>
template
<
typename
R
,
class
C
>
member
(
uniform_type_info
*
mtptr
,
R
C
::*
mem_ptr
)
:
m_meta
(
mtptr
)
{
member
(
uniform_type_info
*
mtptr
,
R
C
::*
mem_ptr
)
:
m_meta
(
mtptr
)
{
m_serialize
=
[
mem_ptr
]
(
uniform_type_info
const
*
mt
,
m_serialize
=
[
mem_ptr
]
(
uniform_type_info
const
*
mt
,
void
const
*
obj
,
const
void
*
obj
,
serializer
*
s
)
{
serializer
*
s
)
{
mt
->
serialize
(
&
(
*
reinterpret_cast
<
C
const
*>
(
obj
).
*
mem_ptr
),
s
);
mt
->
serialize
(
&
(
*
reinterpret_cast
<
C
const
*>
(
obj
).
*
mem_ptr
),
s
);
};
};
...
@@ -159,7 +159,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -159,7 +159,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
static_assert
(
std
::
is_same
<
getter_result
,
setter_arg
>::
value
,
static_assert
(
std
::
is_same
<
getter_result
,
setter_arg
>::
value
,
"getter result doesn't match setter argument"
);
"getter result doesn't match setter argument"
);
m_serialize
=
[
getter
]
(
uniform_type_info
const
*
mt
,
m_serialize
=
[
getter
]
(
uniform_type_info
const
*
mt
,
void
const
*
obj
,
const
void
*
obj
,
serializer
*
s
)
{
serializer
*
s
)
{
GRes
v
=
(
*
reinterpret_cast
<
C
const
*>
(
obj
).
*
getter
)();
GRes
v
=
(
*
reinterpret_cast
<
C
const
*>
(
obj
).
*
getter
)();
mt
->
serialize
(
&
v
,
s
);
mt
->
serialize
(
&
v
,
s
);
...
@@ -181,7 +181,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -181,7 +181,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
static
member
fake_member
(
uniform_type_info
*
mtptr
)
{
static
member
fake_member
(
uniform_type_info
*
mtptr
)
{
return
{
return
{
mtptr
,
mtptr
,
[]
(
uniform_type_info
const
*
mt
,
void
const
*
obj
,
serializer
*
s
)
{
[]
(
uniform_type_info
const
*
mt
,
const
void
*
obj
,
serializer
*
s
)
{
mt
->
serialize
(
obj
,
s
);
mt
->
serialize
(
obj
,
s
);
},
},
[]
(
uniform_type_info
const
*
mt
,
void
*
obj
,
deserializer
*
d
)
{
[]
(
uniform_type_info
const
*
mt
,
void
*
obj
,
deserializer
*
d
)
{
...
@@ -199,7 +199,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -199,7 +199,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
return
*
this
;
return
*
this
;
}
}
inline
void
serialize
(
void
const
*
parent
,
serializer
*
s
)
const
{
inline
void
serialize
(
const
void
*
parent
,
serializer
*
s
)
const
{
m_serialize
(
m_meta
,
parent
,
s
);
m_serialize
(
m_meta
,
parent
,
s
);
}
}
...
@@ -310,7 +310,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
...
@@ -310,7 +310,7 @@ class default_uniform_type_info_impl : public util::abstract_uniform_type_info<T
}
}
}
}
void
serialize
(
void
const
*
obj
,
serializer
*
s
)
const
{
void
serialize
(
const
void
*
obj
,
serializer
*
s
)
const
{
s
->
begin_object
(
this
->
name
());
s
->
begin_object
(
this
->
name
());
for
(
auto
&
m
:
m_members
)
{
for
(
auto
&
m
:
m_members
)
{
m
.
serialize
(
obj
,
s
);
m
.
serialize
(
obj
,
s
);
...
...
cppa/detail/empty_tuple.hpp
View file @
4f3e13d6
...
@@ -45,7 +45,7 @@ class empty_tuple : public abstract_tuple {
...
@@ -45,7 +45,7 @@ class empty_tuple : public abstract_tuple {
size_t
size
()
const
;
size_t
size
()
const
;
void
*
mutable_at
(
size_t
);
void
*
mutable_at
(
size_t
);
abstract_tuple
*
copy
()
const
;
abstract_tuple
*
copy
()
const
;
void
const
*
at
(
size_t
)
const
;
const
void
*
at
(
size_t
)
const
;
bool
equals
(
const
abstract_tuple
&
other
)
const
;
bool
equals
(
const
abstract_tuple
&
other
)
const
;
uniform_type_info
const
*
type_at
(
size_t
)
const
;
uniform_type_info
const
*
type_at
(
size_t
)
const
;
std
::
type_info
const
*
type_token
()
const
;
std
::
type_info
const
*
type_token
()
const
;
...
...
cppa/detail/list_member.hpp
View file @
4f3e13d6
...
@@ -94,7 +94,7 @@ class list_member : public util::abstract_uniform_type_info<List> {
...
@@ -94,7 +94,7 @@ class list_member : public util::abstract_uniform_type_info<List> {
public:
public:
void
serialize
(
void
const
*
obj
,
serializer
*
s
)
const
{
void
serialize
(
const
void
*
obj
,
serializer
*
s
)
const
{
auto
&
list
=
*
reinterpret_cast
<
List
const
*>
(
obj
);
auto
&
list
=
*
reinterpret_cast
<
List
const
*>
(
obj
);
m_helper
(
list
,
s
);
m_helper
(
list
,
s
);
}
}
...
...
cppa/detail/map_member.hpp
View file @
4f3e13d6
...
@@ -124,7 +124,7 @@ class map_member : public util::abstract_uniform_type_info<Map> {
...
@@ -124,7 +124,7 @@ class map_member : public util::abstract_uniform_type_info<Map> {
public:
public:
void
serialize
(
void
const
*
obj
,
serializer
*
s
)
const
{
void
serialize
(
const
void
*
obj
,
serializer
*
s
)
const
{
auto
&
mp
=
*
reinterpret_cast
<
Map
const
*>
(
obj
);
auto
&
mp
=
*
reinterpret_cast
<
Map
const
*>
(
obj
);
s
->
begin_sequence
(
mp
.
size
());
s
->
begin_sequence
(
mp
.
size
());
for
(
const
auto
&
val
:
mp
)
{
for
(
const
auto
&
val
:
mp
)
{
...
...
cppa/detail/native_socket.hpp
View file @
4f3e13d6
...
@@ -51,7 +51,7 @@ namespace cppa { namespace detail {
...
@@ -51,7 +51,7 @@ namespace cppa { namespace detail {
constexpr
SOCKET
invalid_socket
=
INVALID_SOCKET
;
constexpr
SOCKET
invalid_socket
=
INVALID_SOCKET
;
#else
#else
typedef
int
native_socket_type
;
typedef
int
native_socket_type
;
typedef
void
const
*
socket_send_ptr
;
typedef
const
void
*
socket_send_ptr
;
typedef
void
*
socket_recv_ptr
;
typedef
void
*
socket_recv_ptr
;
constexpr
int
invalid_socket
=
-
1
;
constexpr
int
invalid_socket
=
-
1
;
void
closesocket
(
native_socket_type
s
);
void
closesocket
(
native_socket_type
s
);
...
...
cppa/detail/object_array.hpp
View file @
4f3e13d6
...
@@ -61,7 +61,7 @@ class object_array : public abstract_tuple {
...
@@ -61,7 +61,7 @@ class object_array : public abstract_tuple {
abstract_tuple
*
copy
()
const
;
abstract_tuple
*
copy
()
const
;
void
const
*
at
(
size_t
pos
)
const
;
const
void
*
at
(
size_t
pos
)
const
;
bool
equals
(
const
cppa
::
detail
::
abstract_tuple
&
)
const
;
bool
equals
(
const
cppa
::
detail
::
abstract_tuple
&
)
const
;
...
...
cppa/detail/object_impl.hpp
View file @
4f3e13d6
...
@@ -50,7 +50,7 @@ struct obj_impl : object {
...
@@ -50,7 +50,7 @@ struct obj_impl : object {
virtual
object
*
copy
()
const
{
return
new
obj_impl
(
m_value
);
}
virtual
object
*
copy
()
const
{
return
new
obj_impl
(
m_value
);
}
virtual
const
utype
&
type
()
const
{
return
uniform_type_info
<
T
>
();
}
virtual
const
utype
&
type
()
const
{
return
uniform_type_info
<
T
>
();
}
virtual
void
*
mutable_value
()
{
return
&
m_value
;
}
virtual
void
*
mutable_value
()
{
return
&
m_value
;
}
virtual
void
const
*
value
()
const
{
return
&
m_value
;
}
virtual
const
void
*
value
()
const
{
return
&
m_value
;
}
virtual
void
serialize
(
serializer
&
s
)
const
{
virtual
void
serialize
(
serializer
&
s
)
const
{
s
<<
m_value
;
s
<<
m_value
;
}
}
...
...
cppa/detail/pair_member.hpp
View file @
4f3e13d6
...
@@ -54,7 +54,7 @@ class pair_member : public util::abstract_uniform_type_info<std::pair<T1,T2>> {
...
@@ -54,7 +54,7 @@ class pair_member : public util::abstract_uniform_type_info<std::pair<T1,T2>> {
public:
public:
void
serialize
(
void
const
*
obj
,
serializer
*
s
)
const
{
void
serialize
(
const
void
*
obj
,
serializer
*
s
)
const
{
auto
&
p
=
*
reinterpret_cast
<
pair_type
const
*>
(
obj
);
auto
&
p
=
*
reinterpret_cast
<
pair_type
const
*>
(
obj
);
primitive_variant
values
[
2
]
=
{
p
.
first
,
p
.
second
};
primitive_variant
values
[
2
]
=
{
p
.
first
,
p
.
second
};
s
->
write_tuple
(
2
,
values
);
s
->
write_tuple
(
2
,
values
);
...
...
cppa/detail/primitive_member.hpp
View file @
4f3e13d6
...
@@ -50,7 +50,7 @@ class primitive_member : public util::abstract_uniform_type_info<T> {
...
@@ -50,7 +50,7 @@ class primitive_member : public util::abstract_uniform_type_info<T> {
public:
public:
void
serialize
(
void
const
*
obj
,
serializer
*
s
)
const
{
void
serialize
(
const
void
*
obj
,
serializer
*
s
)
const
{
s
->
write_value
(
*
reinterpret_cast
<
T
const
*>
(
obj
));
s
->
write_value
(
*
reinterpret_cast
<
T
const
*>
(
obj
));
}
}
...
...
cppa/detail/pseudo_tuple.hpp
View file @
4f3e13d6
...
@@ -38,7 +38,7 @@ namespace cppa { namespace detail {
...
@@ -38,7 +38,7 @@ namespace cppa { namespace detail {
template
<
typename
...
T
>
template
<
typename
...
T
>
struct
pseudo_tuple
{
struct
pseudo_tuple
{
typedef
void
*
ptr_type
;
typedef
void
*
ptr_type
;
typedef
void
const
*
const_ptr_type
;
typedef
const
void
*
const_ptr_type
;
ptr_type
data
[
sizeof
...(
T
)
>
0
?
sizeof
...(
T
)
:
1
];
ptr_type
data
[
sizeof
...(
T
)
>
0
?
sizeof
...(
T
)
:
1
];
...
...
cppa/detail/tdata.hpp
View file @
4f3e13d6
...
@@ -60,13 +60,13 @@ template<typename T>
...
@@ -60,13 +60,13 @@ template<typename T>
inline
void
*
ptr_to
(
T
&
what
)
{
return
&
what
;
}
inline
void
*
ptr_to
(
T
&
what
)
{
return
&
what
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
void
const
*
ptr_to
(
const
T
&
what
)
{
return
&
what
;
}
inline
const
void
*
ptr_to
(
const
T
&
what
)
{
return
&
what
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
void
*
ptr_to
(
T
*
what
)
{
return
what
;
}
inline
void
*
ptr_to
(
T
*
what
)
{
return
what
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
void
const
*
ptr_to
(
T
const
*
what
)
{
return
what
;
}
inline
const
void
*
ptr_to
(
T
const
*
what
)
{
return
what
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
void
*
ptr_to
(
const
std
::
reference_wrapper
<
T
>&
what
)
{
inline
void
*
ptr_to
(
const
std
::
reference_wrapper
<
T
>&
what
)
{
...
@@ -74,7 +74,7 @@ inline void* ptr_to(const std::reference_wrapper<T>& what) {
...
@@ -74,7 +74,7 @@ inline void* ptr_to(const std::reference_wrapper<T>& what) {
}
}
template
<
typename
T
>
template
<
typename
T
>
inline
void
const
*
ptr_to
(
const
std
::
reference_wrapper
<
const
T
>&
what
)
{
inline
const
void
*
ptr_to
(
const
std
::
reference_wrapper
<
const
T
>&
what
)
{
return
&
(
what
.
get
());
return
&
(
what
.
get
());
}
}
...
@@ -160,7 +160,7 @@ struct tdata<> {
...
@@ -160,7 +160,7 @@ struct tdata<> {
const
tdata
<>&
ctail
()
const
{
return
*
this
;
}
const
tdata
<>&
ctail
()
const
{
return
*
this
;
}
inline
void
const
*
at
(
size_t
)
const
{
inline
const
void
*
at
(
size_t
)
const
{
throw
std
::
out_of_range
(
"tdata<>"
);
throw
std
::
out_of_range
(
"tdata<>"
);
}
}
...
@@ -307,7 +307,7 @@ struct tdata<Head, Tail...> : tdata<Tail...> {
...
@@ -307,7 +307,7 @@ struct tdata<Head, Tail...> : tdata<Tail...> {
inline
const
tdata
<
Tail
...
>&
ctail
()
const
{
return
*
this
;
}
inline
const
tdata
<
Tail
...
>&
ctail
()
const
{
return
*
this
;
}
inline
void
const
*
at
(
size_t
p
)
const
{
inline
const
void
*
at
(
size_t
p
)
const
{
CPPA_REQUIRE
(
p
<
num_elements
);
CPPA_REQUIRE
(
p
<
num_elements
);
switch
(
p
)
{
switch
(
p
)
{
case
0
:
return
ptr_to
(
head
);
case
0
:
return
ptr_to
(
head
);
...
@@ -324,7 +324,7 @@ struct tdata<Head, Tail...> : tdata<Tail...> {
...
@@ -324,7 +324,7 @@ struct tdata<Head, Tail...> : tdata<Tail...> {
inline
void
*
mutable_at
(
size_t
p
)
{
inline
void
*
mutable_at
(
size_t
p
)
{
# ifdef CPPA_DEBUG
# ifdef CPPA_DEBUG
if
(
p
==
0
)
{
if
(
p
==
0
)
{
if
(
std
::
is_same
<
decltype
(
ptr_to
(
head
)),
void
const
*>::
value
)
{
if
(
std
::
is_same
<
decltype
(
ptr_to
(
head
)),
const
void
*>::
value
)
{
throw
std
::
logic_error
{
"mutable_at with const head"
};
throw
std
::
logic_error
{
"mutable_at with const head"
};
}
}
return
const_cast
<
void
*>
(
ptr_to
(
head
));
return
const_cast
<
void
*>
(
ptr_to
(
head
));
...
...
cppa/detail/tuple_iterator.hpp
View file @
4f3e13d6
...
@@ -95,7 +95,7 @@ class tuple_iterator {
...
@@ -95,7 +95,7 @@ class tuple_iterator {
inline
size_t
position
()
const
{
return
m_pos
;
}
inline
size_t
position
()
const
{
return
m_pos
;
}
inline
void
const
*
value
()
const
{
inline
const
void
*
value
()
const
{
return
m_tuple
->
at
(
m_pos
);
return
m_tuple
->
at
(
m_pos
);
}
}
...
...
cppa/detail/tuple_vals.hpp
View file @
4f3e13d6
...
@@ -66,7 +66,7 @@ class tuple_vals : public abstract_tuple {
...
@@ -66,7 +66,7 @@ class tuple_vals : public abstract_tuple {
:
super
(
tuple_impl_info
::
statically_typed
),
m_data
(
args
...)
{
:
super
(
tuple_impl_info
::
statically_typed
),
m_data
(
args
...)
{
}
}
void
const
*
native_data
()
const
{
const
void
*
native_data
()
const
{
return
&
m_data
;
return
&
m_data
;
}
}
...
@@ -90,7 +90,7 @@ class tuple_vals : public abstract_tuple {
...
@@ -90,7 +90,7 @@ class tuple_vals : public abstract_tuple {
return
new
tuple_vals
(
*
this
);
return
new
tuple_vals
(
*
this
);
}
}
void
const
*
at
(
size_t
pos
)
const
{
const
void
*
at
(
size_t
pos
)
const
{
CPPA_REQUIRE
(
pos
<
size
());
CPPA_REQUIRE
(
pos
<
size
());
return
m_data
.
at
(
pos
);
return
m_data
.
at
(
pos
);
}
}
...
...
cppa/detail/tuple_view.hpp
View file @
4f3e13d6
...
@@ -91,7 +91,7 @@ class tuple_view : public abstract_tuple {
...
@@ -91,7 +91,7 @@ class tuple_view : public abstract_tuple {
return
result
;
return
result
;
}
}
void
const
*
at
(
size_t
pos
)
const
{
const
void
*
at
(
size_t
pos
)
const
{
CPPA_REQUIRE
(
pos
<
size
());
CPPA_REQUIRE
(
pos
<
size
());
return
m_data
.
at
(
pos
);
return
m_data
.
at
(
pos
);
}
}
...
...
cppa/match_expr.hpp
View file @
4f3e13d6
...
@@ -677,7 +677,7 @@ class match_expr {
...
@@ -677,7 +677,7 @@ class match_expr {
typedef
typename
util
::
if_else_c
<
typedef
typename
util
::
if_else_c
<
has_manipulator
,
has_manipulator
,
void
*
,
void
*
,
util
::
wrapped
<
void
const
*>
util
::
wrapped
<
const
void
*>
>::
type
>::
type
ptr_type
;
ptr_type
;
...
...
cppa/object.hpp
View file @
4f3e13d6
...
@@ -131,7 +131,7 @@ class object {
...
@@ -131,7 +131,7 @@ class object {
* @returns A const pointer to the currently stored value.
* @returns A const pointer to the currently stored value.
* @see get(const object&)
* @see get(const object&)
*/
*/
void
const
*
value
()
const
;
const
void
*
value
()
const
;
/**
/**
* @brief Gets the stored value.
* @brief Gets the stored value.
...
...
cppa/to_string.hpp
View file @
4f3e13d6
...
@@ -38,7 +38,7 @@ namespace cppa {
...
@@ -38,7 +38,7 @@ namespace cppa {
namespace
detail
{
namespace
detail
{
std
::
string
to_string_impl
(
void
const
*
what
,
uniform_type_info
const
*
utype
);
std
::
string
to_string_impl
(
const
void
*
what
,
uniform_type_info
const
*
utype
);
}
// namespace detail
}
// namespace detail
...
...
cppa/type_value_pair.hpp
View file @
4f3e13d6
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
namespace
cppa
{
namespace
cppa
{
typedef
std
::
pair
<
uniform_type_info
const
*
,
void
const
*>
type_value_pair
;
typedef
std
::
pair
<
uniform_type_info
const
*
,
const
void
*>
type_value_pair
;
class
type_value_pair_const_iterator
{
class
type_value_pair_const_iterator
{
...
@@ -63,7 +63,7 @@ class type_value_pair_const_iterator {
...
@@ -63,7 +63,7 @@ class type_value_pair_const_iterator {
inline
uniform_type_info
const
*
type
()
const
{
return
iter
->
first
;
}
inline
uniform_type_info
const
*
type
()
const
{
return
iter
->
first
;
}
inline
void
const
*
value
()
const
{
return
iter
->
second
;
}
inline
const
void
*
value
()
const
{
return
iter
->
second
;
}
inline
decltype
(
iter
)
base
()
const
{
return
iter
;
}
inline
decltype
(
iter
)
base
()
const
{
return
iter
;
}
...
...
cppa/uniform_type_info.hpp
View file @
4f3e13d6
...
@@ -216,7 +216,7 @@ class uniform_type_info {
...
@@ -216,7 +216,7 @@ class uniform_type_info {
* @returns @p true if <tt>*instance1 == *instance2</tt>.
* @returns @p true if <tt>*instance1 == *instance2</tt>.
* @pre @p instance1 and @p instance2 have the type of @p this.
* @pre @p instance1 and @p instance2 have the type of @p this.
*/
*/
virtual
bool
equals
(
void
const
*
instance1
,
void
const
*
instance2
)
const
=
0
;
virtual
bool
equals
(
const
void
*
instance1
,
const
void
*
instance2
)
const
=
0
;
/**
/**
* @brief Serializes @p instance to @p sink.
* @brief Serializes @p instance to @p sink.
...
@@ -224,7 +224,7 @@ class uniform_type_info {
...
@@ -224,7 +224,7 @@ class uniform_type_info {
* @param sink Target data sink.
* @param sink Target data sink.
* @pre @p instance has the type of @p this.
* @pre @p instance has the type of @p this.
*/
*/
virtual
void
serialize
(
void
const
*
instance
,
serializer
*
sink
)
const
=
0
;
virtual
void
serialize
(
const
void
*
instance
,
serializer
*
sink
)
const
=
0
;
/**
/**
* @brief Deserializes @p instance from @p source.
* @brief Deserializes @p instance from @p source.
...
@@ -254,7 +254,7 @@ class uniform_type_info {
...
@@ -254,7 +254,7 @@ class uniform_type_info {
* with the default constructor.
* with the default constructor.
* @pre @p instance has the type of @p this or is set to @p nullptr.
* @pre @p instance has the type of @p this or is set to @p nullptr.
*/
*/
virtual
void
*
new_instance
(
void
const
*
instance
=
nullptr
)
const
=
0
;
virtual
void
*
new_instance
(
const
void
*
instance
=
nullptr
)
const
=
0
;
private:
private:
...
...
cppa/util/abstract_uniform_type_info.hpp
View file @
4f3e13d6
...
@@ -43,7 +43,7 @@ namespace cppa { namespace util {
...
@@ -43,7 +43,7 @@ namespace cppa { namespace util {
template
<
typename
T
>
template
<
typename
T
>
class
abstract_uniform_type_info
:
public
uniform_type_info
{
class
abstract_uniform_type_info
:
public
uniform_type_info
{
inline
static
const
T
&
deref
(
void
const
*
ptr
)
{
inline
static
const
T
&
deref
(
const
void
*
ptr
)
{
return
*
reinterpret_cast
<
T
const
*>
(
ptr
);
return
*
reinterpret_cast
<
T
const
*>
(
ptr
);
}
}
...
@@ -58,11 +58,11 @@ class abstract_uniform_type_info : public uniform_type_info {
...
@@ -58,11 +58,11 @@ class abstract_uniform_type_info : public uniform_type_info {
:
uniform_type_info
(
uname
)
{
:
uniform_type_info
(
uname
)
{
}
}
bool
equals
(
void
const
*
lhs
,
void
const
*
rhs
)
const
{
bool
equals
(
const
void
*
lhs
,
const
void
*
rhs
)
const
{
return
deref
(
lhs
)
==
deref
(
rhs
);
return
deref
(
lhs
)
==
deref
(
rhs
);
}
}
void
*
new_instance
(
void
const
*
ptr
)
const
{
void
*
new_instance
(
const
void
*
ptr
)
const
{
return
(
ptr
)
?
new
T
(
deref
(
ptr
))
:
new
T
();
return
(
ptr
)
?
new
T
(
deref
(
ptr
))
:
new
T
();
}
}
...
...
cppa/util/is_iterable.hpp
View file @
4f3e13d6
...
@@ -57,7 +57,7 @@ class is_iterable {
...
@@ -57,7 +57,7 @@ class is_iterable {
}
}
// SFNINAE default
// SFNINAE default
static
void
sfinae_fun
(
void
const
*
)
{
}
static
void
sfinae_fun
(
const
void
*
)
{
}
typedef
decltype
(
sfinae_fun
(
static_cast
<
T
const
*>
(
nullptr
)))
result_type
;
typedef
decltype
(
sfinae_fun
(
static_cast
<
T
const
*>
(
nullptr
)))
result_type
;
...
...
src/abstract_tuple.cpp
View file @
4f3e13d6
...
@@ -47,7 +47,7 @@ std::type_info const* abstract_tuple::type_token() const {
...
@@ -47,7 +47,7 @@ std::type_info const* abstract_tuple::type_token() const {
return
&
typeid
(
void
);
return
&
typeid
(
void
);
}
}
void
const
*
abstract_tuple
::
native_data
()
const
{
const
void
*
abstract_tuple
::
native_data
()
const
{
return
nullptr
;
return
nullptr
;
}
}
...
...
src/object.cpp
View file @
4f3e13d6
...
@@ -102,7 +102,7 @@ uniform_type_info const* object::type() const {
...
@@ -102,7 +102,7 @@ uniform_type_info const* object::type() const {
return
m_type
;
return
m_type
;
}
}
void
const
*
object
::
value
()
const
{
const
void
*
object
::
value
()
const
{
return
m_value
;
return
m_value
;
}
}
...
...
src/object_array.cpp
View file @
4f3e13d6
...
@@ -55,7 +55,7 @@ abstract_tuple* object_array::copy() const {
...
@@ -55,7 +55,7 @@ abstract_tuple* object_array::copy() const {
return
new
object_array
(
*
this
);
return
new
object_array
(
*
this
);
}
}
void
const
*
object_array
::
at
(
size_t
pos
)
const
{
const
void
*
object_array
::
at
(
size_t
pos
)
const
{
return
m_elements
[
pos
].
value
();
return
m_elements
[
pos
].
value
();
}
}
...
...
src/uniform_type_info.cpp
View file @
4f3e13d6
...
@@ -145,6 +145,14 @@ void deserialize_nullptr(deserializer* source) {
...
@@ -145,6 +145,14 @@ void deserialize_nullptr(deserializer* source) {
class
void_type_tinfo
:
public
uniform_type_info
{
class
void_type_tinfo
:
public
uniform_type_info
{
public:
void_type_tinfo
()
:
uniform_type_info
(
to_uniform_name
(
typeid
(
void_type
)))
{}
bool
equals
(
const
std
::
type_info
&
tinfo
)
const
{
return
typeid
(
void_type
)
==
tinfo
;
}
protected:
protected:
void
serialize
(
const
void
*
,
serializer
*
sink
)
const
{
void
serialize
(
const
void
*
,
serializer
*
sink
)
const
{
...
@@ -164,19 +172,19 @@ class void_type_tinfo : public uniform_type_info {
...
@@ -164,19 +172,19 @@ class void_type_tinfo : public uniform_type_info {
}
}
void
*
new_instance
(
const
void
*
)
const
{
void
*
new_instance
(
const
void
*
)
const
{
return
new
void_type
;
// const_cast cannot cause any harm, because void_type is immutable
return
const_cast
<
void
*>
(
static_cast
<
const
void
*>
(
&
m_value
));
}
}
void
delete_instance
(
void
*
instance
)
const
{
void
delete_instance
(
void
*
instance
)
const
{
delete
reinterpret_cast
<
void_type
*>
(
instance
);
CPPA_REQUIRE
(
instance
==
&
m_value
);
// keep compiler happy (suppress unused argument warning)
static_cast
<
void
>
(
instance
);
}
}
private:
public:
void_type
m_value
;
bool
equals
(
const
std
::
type_info
&
tinfo
)
const
{
return
typeid
(
void_type
)
==
tinfo
;
}
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment