qb
2.0.0.0
C++17 Actor Framework
|
Actor base class and core actor model implementation. More...
#include <map>
#include <tuple>
#include <utility>
#include <vector>
#include <qb/system/container/unordered_map.h>
#include <qb/utility/nocopy.h>
#include <qb/utility/type_traits.h>
#include "Event.h"
#include "ICallback.h"
#include "Pipe.h"
Go to the source code of this file.
Classes | |
class | qb::Actor |
Base class for all actors in the qb framework. More... | |
class | qb::Actor::EventBuilder |
Helper class for building and sending events to actors. More... | |
class | qb::Service |
Internal base class for services. More... | |
class | qb::ServiceActor< Tag > |
SingletonActor base class, ensuring one instance per VirtualCore per Tag. More... | |
interface | qb::IActorFactory |
Interface for actor factory classes. More... | |
class | qb::ActorProxy |
Internal helper class for actor type and name management. More... | |
struct | qb::is_specialization_of< Template, T > |
struct | qb::is_specialization_of< Template, Template< Args... > > |
struct | qb::actor_factory_param< T > |
Utility struct for processing actor factory constructor arguments. More... | |
class | qb::TActorFactory< _Actor, _Args > |
Templated actor factory implementation. More... |
Typedefs | |
using | qb::actor = Actor |
Alias for the Actor class. | |
template<typename Tag> | |
using | qb::service_actor = ServiceActor<Tag> |
Alias for the ServiceActor template class. |
Functions | |
template<typename T> | |
auto | qb::actor_factory_forward (T &&val) |
Utility function for forwarding and transforming arguments to actor factory. | |
std::ostream & | qb::operator<< (std::ostream &os, qb::Actor const &actor) |
Stream output operator for Actor objects. |
Actor base class and core actor model implementation.
This file defines the core Actor class which serves as the base class for all actors in the QB Actor Framework. It implements the fundamental actor model concepts including message passing via events, lifecycle management, and actor identification.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.