Commit 90ce18a1 authored by Dominik Charousset's avatar Dominik Charousset

Fix documentation errors, use deprecated attribute

parent a0d0ab45
...@@ -322,6 +322,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" ...@@ -322,6 +322,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang"
add_compile_options("-ftemplate-depth=512" add_compile_options("-ftemplate-depth=512"
"-ftemplate-backtrace-limit=0") "-ftemplate-backtrace-limit=0")
endif() endif()
# enable useful warnings by default
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wdocumentation)
endif()
# explicitly disable obnoxious GCC warnings # explicitly disable obnoxious GCC warnings
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
build_string("EXTRA_FLAGS" "-Wno-missing-field-initializers") build_string("EXTRA_FLAGS" "-Wno-missing-field-initializers")
......
...@@ -44,7 +44,7 @@ public: ...@@ -44,7 +44,7 @@ public:
= 0; = 0;
/// Called before the actor system calls the destructor for `self`. /// Called before the actor system calls the destructor for `self`.
/// @param ptr Points to an actor that is about to get destroyed. /// @param self Points to an actor that is about to get destroyed.
/// @thread-safe /// @thread-safe
virtual void remove_actor(const local_actor& self) = 0; virtual void remove_actor(const local_actor& self) = 0;
......
...@@ -33,10 +33,7 @@ namespace caf { ...@@ -33,10 +33,7 @@ namespace caf {
/// implementation with `Driver`. The returned manager is not connected to any /// implementation with `Driver`. The returned manager is not connected to any
/// slot and thus not stored by the actor automatically. /// slot and thus not stored by the actor automatically.
/// @param self Points to the hosting actor. /// @param self Points to the hosting actor.
/// @param init Function object for initializing the state of the source. /// @param xs Parameter pack for constructing the driver.
/// @param pull Generator function object for producing downstream messages.
/// @param done Predicate returning `true` when generator is done.
/// @param fin Cleanup handler.
/// @returns The new `stream_manager`. /// @returns The new `stream_manager`.
template <class Driver, class... Ts> template <class Driver, class... Ts>
typename Driver::source_ptr_type typename Driver::source_ptr_type
......
...@@ -40,10 +40,7 @@ namespace caf { ...@@ -40,10 +40,7 @@ namespace caf {
/// manager with `Driver`. /// manager with `Driver`.
/// @param self Points to the hosting actor. /// @param self Points to the hosting actor.
/// @param xs User-defined arguments for the stream handshake. /// @param xs User-defined arguments for the stream handshake.
/// @param init Function object for initializing the state of the source. /// @param ctor_args Parameter pack for constructing the driver.
/// @param pull Function object for generating downstream messages.
/// @param done Predicate returning `true` when generator is done.
/// @param fin Optional cleanup handler.
/// @returns The allocated `stream_manager` and the output slot. /// @returns The allocated `stream_manager` and the output slot.
template <class Driver, class... Ts, class... CtorArgs> template <class Driver, class... Ts, class... CtorArgs>
make_source_result_t<typename Driver::downstream_manager_type, Ts...> make_source_result_t<typename Driver::downstream_manager_type, Ts...>
...@@ -104,10 +101,10 @@ template <class Init, class Pull, class Done, class Finalize = unit_t, ...@@ -104,10 +101,10 @@ template <class Init, class Pull, class Done, class Finalize = unit_t,
detail::enable_if_t<!is_actor_handle<Init>::value && Trait::valid, detail::enable_if_t<!is_actor_handle<Init>::value && Trait::valid,
make_source_result_t<DownstreamManager>> make_source_result_t<DownstreamManager>>
attach_stream_source(scheduled_actor* self, Init init, Pull pull, Done done, attach_stream_source(scheduled_actor* self, Init init, Pull pull, Done done,
Finalize finalize = {}, Finalize fin = {},
policy::arg<DownstreamManager> token = {}) { policy::arg<DownstreamManager> token = {}) {
return attach_stream_source(self, std::make_tuple(), init, pull, done, return attach_stream_source(self, std::make_tuple(), init, pull, done, fin,
finalize, token); token);
} }
/// Attaches a new stream source to `self` by creating a default stream source /// Attaches a new stream source to `self` by creating a default stream source
......
...@@ -167,13 +167,13 @@ public: ...@@ -167,13 +167,13 @@ public:
// -- sending asynchronous messages ------------------------------------------ // -- sending asynchronous messages ------------------------------------------
/// Sends an exit message to `dest`. /// Sends an exit message to `whom`.
void send_exit(const actor_addr& whom, error reason); void send_exit(const actor_addr& whom, error reason);
/// Sends an exit message to `dest`. /// Sends an exit message to `whom`.
void send_exit(const strong_actor_ptr& whom, error reason); void send_exit(const strong_actor_ptr& whom, error reason);
/// Sends an exit message to `dest`. /// Sends an exit message to `whom`.
template <class ActorHandle> template <class ActorHandle>
void send_exit(const ActorHandle& whom, error reason) { void send_exit(const ActorHandle& whom, error reason) {
if (whom) if (whom)
......
...@@ -429,10 +429,10 @@ public: ...@@ -429,10 +429,10 @@ public:
// -- stream management ------------------------------------------------------ // -- stream management ------------------------------------------------------
/// @deprecated Please use `attach_stream_source` instead.
template <class Driver, class... Ts, class Init, class Pull, class Done, template <class Driver, class... Ts, class Init, class Pull, class Done,
class Finalize = unit_t> class Finalize = unit_t>
make_source_result_t<typename Driver::downstream_manager_type, Ts...> [[deprecated("use attach_stream_source instead")]] make_source_result_t<
typename Driver::downstream_manager_type, Ts...>
make_source(std::tuple<Ts...> xs, Init init, Pull pull, Done done, make_source(std::tuple<Ts...> xs, Init init, Pull pull, Done done,
Finalize fin = {}) { Finalize fin = {}) {
using detail::make_stream_source; using detail::make_stream_source;
...@@ -442,12 +442,12 @@ public: ...@@ -442,12 +442,12 @@ public:
return {slot, std::move(mgr)}; return {slot, std::move(mgr)};
} }
/// @deprecated Please use `attach_stream_source` instead.
template <class... Ts, class Init, class Pull, class Done, template <class... Ts, class Init, class Pull, class Done,
class Finalize = unit_t, class Finalize = unit_t,
class DownstreamManager = broadcast_downstream_manager< class DownstreamManager = broadcast_downstream_manager<
typename stream_source_trait_t<Pull>::output>> typename stream_source_trait_t<Pull>::output>>
make_source_result_t<DownstreamManager, Ts...> [[deprecated("use attach_stream_source instead")]] make_source_result_t<
DownstreamManager, Ts...>
make_source(std::tuple<Ts...> xs, Init init, Pull pull, Done done, make_source(std::tuple<Ts...> xs, Init init, Pull pull, Done done,
Finalize fin = {}, policy::arg<DownstreamManager> = {}) { Finalize fin = {}, policy::arg<DownstreamManager> = {}) {
using driver = detail::stream_source_driver_impl<DownstreamManager, Pull, using driver = detail::stream_source_driver_impl<DownstreamManager, Pull,
...@@ -456,23 +456,23 @@ public: ...@@ -456,23 +456,23 @@ public:
std::move(done), std::move(fin)); std::move(done), std::move(fin));
} }
/// @deprecated Please use `attach_stream_source` instead.
template <class Init, class Pull, class Done, class Finalize = unit_t, template <class Init, class Pull, class Done, class Finalize = unit_t,
class DownstreamManager = default_downstream_manager_t<Pull>, class DownstreamManager = default_downstream_manager_t<Pull>,
class Trait = stream_source_trait_t<Pull>> class Trait = stream_source_trait_t<Pull>>
detail::enable_if_t<!is_actor_handle<Init>::value && Trait::valid, [[deprecated("use attach_stream_source instead")]] detail::enable_if_t<
!is_actor_handle<Init>::value && Trait::valid,
make_source_result_t<DownstreamManager>> make_source_result_t<DownstreamManager>>
make_source(Init init, Pull pull, Done done, Finalize finalize = {}, make_source(Init init, Pull pull, Done done, Finalize finalize = {},
policy::arg<DownstreamManager> token = {}) { policy::arg<DownstreamManager> token = {}) {
return make_source(std::make_tuple(), init, pull, done, finalize, token); return make_source(std::make_tuple(), init, pull, done, finalize, token);
} }
/// @deprecated Please use `attach_stream_source` instead.
template <class ActorHandle, class... Ts, class Init, class Pull, class Done, template <class ActorHandle, class... Ts, class Init, class Pull, class Done,
class Finalize = unit_t, class Finalize = unit_t,
class DownstreamManager = default_downstream_manager_t<Pull>, class DownstreamManager = default_downstream_manager_t<Pull>,
class Trait = stream_source_trait_t<Pull>> class Trait = stream_source_trait_t<Pull>>
detail::enable_if_t<is_actor_handle<ActorHandle>::value, [[deprecated("use attach_stream_source instead")]] detail::enable_if_t<
is_actor_handle<ActorHandle>::value,
make_source_result_t<DownstreamManager>> make_source_result_t<DownstreamManager>>
make_source(const ActorHandle& dest, std::tuple<Ts...> xs, Init init, make_source(const ActorHandle& dest, std::tuple<Ts...> xs, Init init,
Pull pull, Done done, Finalize fin = {}, Pull pull, Done done, Finalize fin = {},
...@@ -486,12 +486,12 @@ public: ...@@ -486,12 +486,12 @@ public:
return {slot, std::move(mgr)}; return {slot, std::move(mgr)};
} }
/// @deprecated Please use `attach_stream_source` instead.
template <class ActorHandle, class Init, class Pull, class Done, template <class ActorHandle, class Init, class Pull, class Done,
class Finalize = unit_t, class Finalize = unit_t,
class DownstreamManager = default_downstream_manager_t<Pull>, class DownstreamManager = default_downstream_manager_t<Pull>,
class Trait = stream_source_trait_t<Pull>> class Trait = stream_source_trait_t<Pull>>
detail::enable_if_t<is_actor_handle<ActorHandle>::value && Trait::valid, [[deprecated("use attach_stream_source instead")]] detail::enable_if_t<
is_actor_handle<ActorHandle>::value && Trait::valid,
make_source_result_t<DownstreamManager>> make_source_result_t<DownstreamManager>>
make_source(const ActorHandle& dest, Init init, Pull pull, Done done, make_source(const ActorHandle& dest, Init init, Pull pull, Done done,
Finalize fin = {}, policy::arg<DownstreamManager> token = {}) { Finalize fin = {}, policy::arg<DownstreamManager> token = {}) {
...@@ -499,10 +499,9 @@ public: ...@@ -499,10 +499,9 @@ public:
std::move(pull), std::move(done), std::move(fin), token); std::move(pull), std::move(done), std::move(fin), token);
} }
/// @deprecated Please use `attach_continuous_stream_source` instead.
template <class Driver, class Init, class Pull, class Done, template <class Driver, class Init, class Pull, class Done,
class Finalize = unit_t> class Finalize = unit_t>
typename Driver::source_ptr_type [[deprecated("use attach_continuous_stream_source instead")]] auto
make_continuous_source(Init init, Pull pull, Done done, Finalize fin = {}) { make_continuous_source(Init init, Pull pull, Done done, Finalize fin = {}) {
using detail::make_stream_source; using detail::make_stream_source;
auto mgr = make_stream_source<Driver>( auto mgr = make_stream_source<Driver>(
...@@ -511,11 +510,10 @@ public: ...@@ -511,11 +510,10 @@ public:
return mgr; return mgr;
} }
/// @deprecated Please use `attach_continuous_stream_source` instead.
template <class Init, class Pull, class Done, class Finalize = unit_t, template <class Init, class Pull, class Done, class Finalize = unit_t,
class DownstreamManager = broadcast_downstream_manager< class DownstreamManager = broadcast_downstream_manager<
typename stream_source_trait_t<Pull>::output>> typename stream_source_trait_t<Pull>::output>>
stream_source_ptr<DownstreamManager> [[deprecated("use attach_continuous_stream_source instead")]] auto
make_continuous_source(Init init, Pull pull, Done done, Finalize fin = {}, make_continuous_source(Init init, Pull pull, Done done, Finalize fin = {},
policy::arg<DownstreamManager> = {}) { policy::arg<DownstreamManager> = {}) {
using driver = detail::stream_source_driver_impl<DownstreamManager, Pull, using driver = detail::stream_source_driver_impl<DownstreamManager, Pull,
...@@ -524,28 +522,27 @@ public: ...@@ -524,28 +522,27 @@ public:
std::move(done), std::move(fin)); std::move(done), std::move(fin));
} }
/// @deprecated Please use `attach_stream_sink` instead.
template <class Driver, class... Ts> template <class Driver, class... Ts>
make_sink_result<typename Driver::input_type> [[deprecated("use attach_stream_sink instead")]] make_sink_result<
typename Driver::input_type>
make_sink(const stream<typename Driver::input_type>& src, Ts&&... xs) { make_sink(const stream<typename Driver::input_type>& src, Ts&&... xs) {
auto mgr = detail::make_stream_sink<Driver>(this, std::forward<Ts>(xs)...); auto mgr = detail::make_stream_sink<Driver>(this, std::forward<Ts>(xs)...);
auto slot = mgr->add_inbound_path(src); auto slot = mgr->add_inbound_path(src);
return {slot, std::move(mgr)}; return {slot, std::move(mgr)};
} }
/// @deprecated Please use `attach_stream_sink` instead.
template <class In, class Init, class Fun, class Finalize = unit_t, template <class In, class Init, class Fun, class Finalize = unit_t,
class Trait = stream_sink_trait_t<Fun>> class Trait = stream_sink_trait_t<Fun>>
make_sink_result<In> [[deprecated("use attach_stream_sink instead")]] make_sink_result<In>
make_sink(const stream<In>& in, Init init, Fun fun, Finalize fin = {}) { make_sink(const stream<In>& in, Init init, Fun fun, Finalize fin = {}) {
using driver = detail::stream_sink_driver_impl<In, Fun, Finalize>; using driver = detail::stream_sink_driver_impl<In, Fun, Finalize>;
return make_sink<driver>(in, std::move(init), std::move(fun), return make_sink<driver>(in, std::move(init), std::move(fun),
std::move(fin)); std::move(fin));
} }
/// @deprecated Please use `attach_stream_stage` instead.
template <class Driver, class In, class... Ts, class... Us> template <class Driver, class In, class... Ts, class... Us>
make_stage_result_t<In, typename Driver::downstream_manager_type, Ts...> [[deprecated("use attach_stream_stage instead")]] make_stage_result_t<
In, typename Driver::downstream_manager_type, Ts...>
make_stage(const stream<In>& src, std::tuple<Ts...> xs, Us&&... ys) { make_stage(const stream<In>& src, std::tuple<Ts...> xs, Us&&... ys) {
using detail::make_stream_stage; using detail::make_stream_stage;
auto mgr = make_stream_stage<Driver>(this, std::forward<Us>(ys)...); auto mgr = make_stream_stage<Driver>(this, std::forward<Us>(ys)...);
...@@ -554,12 +551,12 @@ public: ...@@ -554,12 +551,12 @@ public:
return {in, out, std::move(mgr)}; return {in, out, std::move(mgr)};
} }
/// @deprecated Please use `attach_stream_stage` instead.
template <class In, class... Ts, class Init, class Fun, template <class In, class... Ts, class Init, class Fun,
class Finalize = unit_t, class Finalize = unit_t,
class DownstreamManager = default_downstream_manager_t<Fun>, class DownstreamManager = default_downstream_manager_t<Fun>,
class Trait = stream_stage_trait_t<Fun>> class Trait = stream_stage_trait_t<Fun>>
make_stage_result_t<In, DownstreamManager, Ts...> [[deprecated("use attach_stream_stage instead")]] make_stage_result_t<
In, DownstreamManager, Ts...>
make_stage(const stream<In>& in, std::tuple<Ts...> xs, Init init, Fun fun, make_stage(const stream<In>& in, std::tuple<Ts...> xs, Init init, Fun fun,
Finalize fin = {}, policy::arg<DownstreamManager> token = {}) { Finalize fin = {}, policy::arg<DownstreamManager> token = {}) {
CAF_IGNORE_UNUSED(token); CAF_IGNORE_UNUSED(token);
...@@ -584,30 +581,29 @@ public: ...@@ -584,30 +581,29 @@ public:
std::move(fun), std::move(fin)); std::move(fun), std::move(fin));
} }
/// @deprecated Please use `attach_stream_stage` instead.
template <class In, class Init, class Fun, class Finalize = unit_t, template <class In, class Init, class Fun, class Finalize = unit_t,
class DownstreamManager = default_downstream_manager_t<Fun>, class DownstreamManager = default_downstream_manager_t<Fun>,
class Trait = stream_stage_trait_t<Fun>> class Trait = stream_stage_trait_t<Fun>>
make_stage_result_t<In, DownstreamManager> [[deprecated("use attach_stream_stage instead")]] make_stage_result_t<
In, DownstreamManager>
make_stage(const stream<In>& in, Init init, Fun fun, Finalize fin = {}, make_stage(const stream<In>& in, Init init, Fun fun, Finalize fin = {},
policy::arg<DownstreamManager> token = {}) { policy::arg<DownstreamManager> token = {}) {
return make_stage(in, std::make_tuple(), std::move(init), std::move(fun), return make_stage(in, std::make_tuple(), std::move(init), std::move(fun),
std::move(fin), token); std::move(fin), token);
} }
/// @deprecated Please use `attach_continuous_stream_stage` instead.
template <class Driver, class... Ts> template <class Driver, class... Ts>
typename Driver::stage_ptr_type make_continuous_stage(Ts&&... xs) { [[deprecated("use attach_continuous_stream_stage instead")]] auto
make_continuous_stage(Ts&&... xs) {
auto ptr = detail::make_stream_stage<Driver>(this, std::forward<Ts>(xs)...); auto ptr = detail::make_stream_stage<Driver>(this, std::forward<Ts>(xs)...);
ptr->continuous(true); ptr->continuous(true);
return ptr; return ptr;
} }
/// @deprecated Please use `attach_continuous_stream_stage` instead.
template <class Init, class Fun, class Cleanup, template <class Init, class Fun, class Cleanup,
class DownstreamManager = default_downstream_manager_t<Fun>, class DownstreamManager = default_downstream_manager_t<Fun>,
class Trait = stream_stage_trait_t<Fun>> class Trait = stream_stage_trait_t<Fun>>
stream_stage_ptr<typename Trait::input, DownstreamManager> [[deprecated("use attach_continuous_stream_stage instead")]] auto
make_continuous_stage(Init init, Fun fun, Cleanup cleanup, make_continuous_stage(Init init, Fun fun, Cleanup cleanup,
policy::arg<DownstreamManager> token = {}) { policy::arg<DownstreamManager> token = {}) {
CAF_IGNORE_UNUSED(token); CAF_IGNORE_UNUSED(token);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment