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
84ff0158
Commit
84ff0158
authored
Sep 27, 2017
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add mailbox_element::copy_content_to_message
parent
1a36a50a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
0 deletions
+28
-0
libcaf_core/caf/detail/type_erased_value_impl.hpp
libcaf_core/caf/detail/type_erased_value_impl.hpp
+4
-0
libcaf_core/caf/mailbox_element.hpp
libcaf_core/caf/mailbox_element.hpp
+14
-0
libcaf_core/caf/message_view.hpp
libcaf_core/caf/message_view.hpp
+2
-0
libcaf_core/src/mailbox_element.cpp
libcaf_core/src/mailbox_element.cpp
+8
-0
No files found.
libcaf_core/caf/detail/type_erased_value_impl.hpp
View file @
84ff0158
...
...
@@ -120,6 +120,10 @@ public:
return
x_
;
}
operator
const
value_type
&
()
const
{
return
x_
;
}
private:
// -- address-of-member utility ----------------------------------------------
...
...
libcaf_core/caf/mailbox_element.hpp
View file @
84ff0158
...
...
@@ -75,6 +75,8 @@ public:
message
move_content_to_message
()
override
;
message
copy_content_to_message
()
const
override
;
const
type_erased_tuple
&
content
()
const
;
mailbox_element
(
mailbox_element
&&
)
=
delete
;
...
...
@@ -121,6 +123,12 @@ public:
return
detail
::
apply_moved_args
(
f
,
detail
::
get_indices
(
xs
),
xs
);
}
message
copy_content_to_message
()
const
override
{
message_factory
f
;
auto
&
xs
=
this
->
data
();
return
detail
::
apply_args
(
f
,
detail
::
get_indices
(
xs
),
xs
);
}
void
dispose
()
noexcept
{
this
->
deref
();
}
...
...
@@ -147,6 +155,12 @@ public:
auto
&
xs
=
this
->
data
();
return
detail
::
apply_moved_args
(
f
,
detail
::
get_indices
(
xs
),
xs
);
}
message
copy_content_to_message
()
const
override
{
message_factory
f
;
auto
&
xs
=
this
->
data
();
return
detail
::
apply_args
(
f
,
detail
::
get_indices
(
xs
),
xs
);
}
};
/// @relates mailbox_element
...
...
libcaf_core/caf/message_view.hpp
View file @
84ff0158
...
...
@@ -33,6 +33,8 @@ public:
virtual
type_erased_tuple
&
content
()
=
0
;
virtual
message
move_content_to_message
()
=
0
;
virtual
message
copy_content_to_message
()
const
=
0
;
};
}
// namespace caf
...
...
libcaf_core/src/mailbox_element.cpp
View file @
84ff0158
...
...
@@ -44,6 +44,10 @@ public:
return
std
::
move
(
msg_
);
}
message
copy_content_to_message
()
const
override
{
return
msg_
;
}
private:
/// Stores the content of this mailbox element.
message
msg_
;
...
...
@@ -81,6 +85,10 @@ message mailbox_element::move_content_to_message() {
return
{};
}
message
mailbox_element
::
copy_content_to_message
()
const
{
return
{};
}
const
type_erased_tuple
&
mailbox_element
::
content
()
const
{
return
const_cast
<
mailbox_element
*>
(
this
)
->
content
();
}
...
...
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